LoginSignup
1
0

More than 5 years have passed since last update.

レコードが存在しない時に追加

Last updated at Posted at 2017-05-30
sql
INSERT INTO テーブル名 (`col_1`, `col_2`, `col_3`) 
SELECT  1, 2, 3 

FROM テーブル名 WHERE 
NOT (SELECT EXISTS(SELECT * FROM テーブル名 WHERE 条件)) 
LIMIT 1;

まだ、100%原理を理解しきれない

LIMIT1にしないと、テーブルの総レコード数、レコードを追加してしまう。SELECT INSERTを使う苦肉の策? 決まりごと的に覚えておけばいいのかな? 

簡素に書くと、存在するかしないか(SELECT EXIST)は、true/falseを返してるだけ

sql
INSERT INTO テーブル名 (`col_1`, `col_2`, `col_3`) 
SELECT  1, 2, 3 
FROM テーブル名 WHERE true( or false ) 
LIMIT 1;
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0