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

Възможно ли е да преместите запис от една таблица в друга с помощта на един SQL оператор?

Не, не можете да премествате записи в един SQL израз. Трябва да използвате INSERT последвано от DELETE изявление. Трябва да обвиете тези изявления в транзакция , за да се уверите, че операцията за копиране остава атомарна.

START TRANSACTION;

INSERT INTO 
    new_table 
SELECT 
    *
FROM
    old_table
WHERE
    some_field = 'your_criteria';

DELETE FROM old_table WHERE some_field = 'your_criteria';

COMMIT;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. име на база данни с променлива

  2. Средно за count() в същата заявка

  3. Трябва да получа списъка с потребители, на които преди това е изпратено съобщение (MySQL)

  4. MySQL добър начин да вмъкнете ред, ако не е намерен, или да го актуализирате, ако бъде намерен

  5. Фатална грешка:Не може да се отвори и заключи таблици с привилегии:Таблица 'mysql.host' не съществува