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

mysql условно вмъкване - ако не съществува, вмъкнете

Използвайте REPLACE - работи точно като INSERT, с изключение на това, че ако стар ред в таблицата има същата стойност като нов ред за ПЪРВИЧЕН КЛЮЧ или УНИКАЛЕН индекс, старият ред се изтрива преди вмъкването на новия ред.

http://dev.mysql.com/doc/refman/5.0 /bg/replace.html

-- For your example query
REPLACE INTO table_name(name, value, id) VALUES
('phill', 'person', 12345) 

Редактиране:Тъй като не можете да използвате REPLACE, друга опция е:задаване на ограничителни индекси за данните в таблицата (първичен ключ, уникалност) и използване на INSERT IGNORE

INSERT IGNORE INTO table_name
SET name = 'phill',
    value = 'person',
    id = 12345;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да видите съдържанието на таблицата в Mysql Workbench GUI?

  2. Как да свържете типове данни като цели числа (цяло число с цяло число) и varchar (varchar с varchar) в mysql?

  3. Как мога лесно да конвертирам приложение на Django от mySQL в PostgreSQL?

  4. Йерархични заявки в MySQL

  5. Как да оптимизираме MySQL заявки въз основа на план EXPLAIN