sql >> Database >  >> RDS >> Mysql

MySQL INSERT indien niet aanwezig (geen primaire sleutel gebruiken)

1) Kun je een UNIQUE . toevoegen beperking op (myid, theirid) ? Zo ja, voeg deze beperking toe en gebruik:

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

en negeer de productiewaarschuwingen (of vervang het bovenstaande door INSERT IGNORE )

2) Als u een dergelijke beperking niet kunt toevoegen (u wilt bijvoorbeeld soms dergelijke duplicaten toestaan ​​en andere keren niet), kunt u dit gebruiken:

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


  1. Android:fout bij het kopiëren van database (Sqliite) uit activamap

  2. Grafiek om bij te werken vanuit een vervolgkeuzelijst

  3. Ik heb mysql en apache superset setup op dockers en verbonden door een bridge-netwerk, wat zal de SQLAlchemy URI zijn?

  4. SQL Server-fout 111:"... moet de eerste instructie in een querybatch zijn"