phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

MySQL UPDATE с SUBQUERY на същата таблица

Трябва да използвате временна таблица, защото не можете да актуализирате нещо, което използвате, за да изберете. Един прост пример:

Това няма да работи :

UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN 
    (SELECT p2.id from mytable p2 WHERE p2.actu_id IS NOT NULL);

Това ще свърши работа:

UPDATE mytable p1 SET p1.type= 'OFFER' WHERE p1.parent IN 
    (SELECT p2.id from (SELECT * FROM mytable) p2 WHERE p2.actu_id IS NOT NULL);

"от (SELECT * FROM mytable) p2" ще създаде временен дубликат на вашата таблица, който няма да бъде засегнат от вашите актуализации



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. PHP:максимално време за изпълнение при импортиране на .SQL файл с данни

  2. Не може да се вмъкне SQL в една конкретна таблица

  3. Въведете UTF8 данни удобно в MySQL

  4. Как да напиша SP в phpMyAdmin (MySQL)?

  5. Автоматично увеличение с 1 в MySQL с clearDB