sql >> Database teknologi >  >> RDS >> Mysql

opdater hvis der findes to felter, indsæt hvis ikke (MySQL)

Et unikt indeks i MySQL behøver ikke at være på en enkelt kolonne. Du kan tilføje et UNIKT indeks på flere kolonner ved blot at angive flere kolonner i din ALTER TABLE..ADD UNIQUE erklæring:

ALTER TABLE myTable ADD UNIQUE (
    mykey,
    myfoo
);

Nu kan du bruge en almindelig INSERT INTO...ON DUPLICATE KEY erklæring.

SQLFiddle DEMO (bemærk, at de flere gentagne værdier ikke tilføjes - alle andre er )

Bemærk :

Hvis en af ​​dem er NULL, vil den ikke regnes som unikke. mykey være 'bar' og myfoo at være NULL kunne føjes til uendeligt, selvom de har de "samme" værdier (NULL er egentlig ikke en værdi).




  1. PostgreSQL og TimescaleDB backup gendannelse ved hjælp af ClusterControl CLI

  2. Kør PostgreSQL-forespørgsler fra kommandolinjen

  3. Kan ikke oprette forbindelse til MySQL-serveren på '127.0.0.1' (10061) (2003)

  4. Flyt node i indlejret sæt