Вставить в Выбрать из Удалить - PullRequest
1 голос
/ 01 марта 2012

Я хочу перенести 50 строк из таблицы 1 в таблицу 2, как мне это сделать?

Рекомендуемый код:

    INSERT INTO table2 SELECT * FROM table1 
    WHERE uid IN ('23','34','345','567','3242','34322','2') DELETE;

Ответы [ 3 ]

4 голосов
/ 01 марта 2012

Написать 2 заявления.Если вы используете InnoDB, поместите их в транзакцию:

START TRANSACTION ;

INSERT INTO table2 
  SELECT * 
  FROM table1 
  WHERE uid IN ('23','34','345','567','3242','34322','2') ;

DELETE FROM table1 
WHERE uid IN ('23','34','345','567','3242','34322','2') ;

COMMIT ;
0 голосов
/ 01 марта 2012
INSERT INTO TABLE2 SELECT * FROM TABLE1 WHERE COL1 = 'A'
0 голосов
/ 01 марта 2012
INSERT INTO table1 (col1, col2, col3) SELECT col1, col2, col3 FROM table2 WHERE col4='some value'

http://www.databasejournal.com/features/mssql/article.php/3507171/Transferring-Data-from-One-Table-to-Another.htm

...