sql >> Database >  >> RDS >> Mysql

update als er twee velden zijn, invoegen als dat niet het geval is (MySQL)

Een unieke index in MySQL hoeft niet op één kolom te staan. U kunt een UNIEKE index aan meerdere kolommen toevoegen door simpelweg meer kolommen op te geven in uw ALTER TABLE..ADD UNIQUE verklaring:

ALTER TABLE myTable ADD UNIQUE (
    mykey,
    myfoo
);

Nu kunt u een gewone INSERT INTO...ON DUPLICATE KEY . gebruiken verklaring.

SQLFiddle DEMO (merk op dat de meerdere herhaalde waarden niet worden toegevoegd - alle andere zijn )

Opmerking :

Als een van beide NULL is, zal het niet als uniek te beschouwen. mykey zijnde 'bar' en myfoo NULL zijn kan tot oneindig worden opgeteld, ook al hebben ze "dezelfde" waarden (NULL is niet echt een waarde).




  1. Optimistische gelijktijdigheid met Entity Framework en MySQL

  2. Complexe externe-sleutelbeperking in SQLAlchemy

  3. Regex str_replace

  4. MySQL-schema converteren naar Github Wiki?