sql >> Databáze >  >> RDS >> Mysql

MySQL INSERT, pokud neexistuje (nepoužívá primární klíč)

1) Můžete přidat UNIQUE omezení na (myid, theirid) ? Pokud ano, přidejte toto omezení a použijte:

INSERT INTO mytable (myid, theirid) 
  VALUES (5, 1) ;

a ignorujte upozornění na produkci (nebo nahraďte výše uvedené textem INSERT IGNORE). )

2) Pokud nemůžete přidat takové omezení (např. chcete někdy takové duplikáty povolit a jindy ne), můžete použít toto:

INSERT INTO mytable (myid, theirid) 
  SELECT 5, 1 
  FROM dual 
  WHERE NOT EXISTS
        ( SELECT *
          FROM mytable
          WHERE myid = 5
            AND theirid = 1
        ) ; 


  1. Jak přepočítat pole na GROUP

  2. Jak provádět Accent Sensitive vyhledávání v MySql

  3. DateTimeField obdržel naivní datum a čas

  4. Vložte soubor do mysql Blob