基本的に、テーブル t1の列 ( cls
、 ) に2 つの値 ('Val'、1) を挿入したいと考えています。jg
は一意に設定されていcls
ますが、jg は同じ値で複数回出現する必要があるため、INSERT IGNORE は機能しません。したがって、ペア ('Val', 1) が既に存在するかどうかを確認する必要があり、存在しない場合はこれらの値を挿入する必要があります。
私はこのようにしてみました:
INSERT INTO t1 (`cls`,`jg`)
SELECT 'Val',1 FROM cls WHERE NOT EXISTS(
SELECT 1 FROM cls WHERE `cls`='Val' AND `jg`=1)
LIMIT 1;
ただし、テーブルが空の場合は機能しません。これは、外側の select ステートメントにエントリが含まれていないためです…</p>
どのように進めればよいですか?これを別の方法で処理する方法がわかりません…</p>