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

АКТУАЛИЗИРАНЕ на множество таблици в MySQL с помощта на LEFT JOIN

UPDATE  t1
LEFT JOIN
        t2
ON      t2.id = t1.id
SET     t1.col1 = newvalue
WHERE   t2.id IS NULL

Имайте предвид, че за SELECT би било по-ефективно да използвате NOT IN / NOT EXISTS синтаксис:

SELECT  t1.*
FROM    t1
WHERE   t1.id NOT IN
        (
        SELECT  id
        FROM    t2
        )

Вижте статията в моя блог за подробности за ефективността:

За съжаление, MySQL не позволява използването на целевата таблица в подзаявка в UPDATE изявление, ето защо ще трябва да се придържате към по-малко ефективно LEFT JOIN синтаксис.



  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 dynamic-pivot

  2. MySQL (или PHP?) групира резултати по данни от полето

  3. SUBTIME() Примери – MySQL

  4. Невалиден тип синтактична грешка=MyISAM в DDL, генериран от Hibernate

  5. Python и MySQL база данни:практическо въведение