Mysql
 sql >> база данни >  >> RDS >> Mysql

актуализиране, ако съществуват две полета, вмъкнете, ако не (MySQL)

Уникалният индекс в MySQL не трябва да бъде в една колона. Можете да добавите УНИКАЛЕН индекс към множество колони, просто като посочите още колони във вашия ALTER TABLE..ADD UNIQUE изявление:

ALTER TABLE myTable ADD UNIQUE (
    mykey,
    myfoo
);

Сега можете да използвате обикновен INSERT INTO...ON DUPLICATE KEY изявление.

DEMO SQLFiddle (обърнете внимание, че множеството повтарящи се стойности не се добавят - всички останали са )

Забележка :

Ако някое от тях е NULL, то не да се считат за уникални. mykey е 'bar' и myfoo да бъде NULL може да се добави до безкрайност, въпреки че имат "същите" стойности (NULL всъщност не е стойност).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите записи от последните 24 часа в MySQL

  2. Сортиране на SQL по първите два знака от полетата

  3. Mysql връща само един ред, когато използва Count

  4. Какво означава двойни ленти (||) в SQL?

  5. Как да инсталирате MySQL 8.0 на CentOS 8 / RHEL 8