1
mysqlのdbにデータが存在しない場合は、データを挿入します。mysqlにはどこに存在しないの?
私は次のクエリを使用:
INSERT INTO market
VALUES('DZ','PM','23')
WHERE NOT EXISTS (Select name from market where name ='DZ')
をそれはうまくいきませんでした。
修正方法を教えてください。
mysqlのdbにデータが存在しない場合は、データを挿入します。mysqlにはどこに存在しないの?
私は次のクエリを使用:
INSERT INTO market
VALUES('DZ','PM','23')
WHERE NOT EXISTS (Select name from market where name ='DZ')
をそれはうまくいきませんでした。
修正方法を教えてください。
このための一般的な解決策は以下のとおりです。
INSERT INTO market
SELECT * FROM (SELECT 'DZ','PM','23') x
WHERE NOT EXISTS (select name from market where name = 'DZ')
あなたがサブクエリを必要とする理由は、あなたがFROM
なしWHERE
を持つことができないということです。
Oracleでは、あなたはDUAL
を使用してサブクエリせずにそれを行うことができます。
INSERT INTO market
SELECT 'DZ','PM','23'
FROM DUAL -- Simpler in Oracle
WHERE NOT EXISTS (select name from market where name = 'DZ')