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;