sql >> Databasteknik >  >> RDS >> Mysql

MySQL INSERT om det inte finns (använder inte primärnyckel)

1) Kan du lägga till en UNIQUE begränsning på (myid, theirid) ? Om ja, lägg till denna begränsning och använd:

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

och ignorera produktvarningarna (eller ersätt ovanstående med INSERT IGNORE )

2) Om du inte kan lägga till en sådan begränsning (t.ex. vill du ibland tillåta sådana dubbletter och andra gånger inte), kan du använda detta:

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


  1. laravel returnerar json-sträng på lokal maskin men heltal på elastisk bönstjälk-instans

  2. varför en associativ array indexerad av VARCHAR2 inte lagrar mer än 9 element

  3. Vad innehåller en PDOStatement och vad är användningen av fetch/fetchAll?

  4. Mysql-servern på MAMP startar inte