MySQL: выберите строку по идентификатору, измените идентификатор и вставьте ее в другую таблицу - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть две таблицы, A и B.

Я бы хотел выбрать строку из B на основе ее первичного ключа, изменить первичный ключ на другое значение, а затем вставить эту строку в A.

Примерно так:

INSERT INTO A SELECT id, title, date FROM B WHERE B.id="4" UPDATE B SET id="5";

Есть ли решение для этого?

Ответы [ 2 ]

1 голос
/ 07 апреля 2011
INSERT INTO A(id, title, date)
SELECT 5 AS id, title, date FROM B WHERE B.id="4";
#      ^--- here is the trick
0 голосов
/ 07 апреля 2011

Может быть, что-то вроде

insert into a (select id as "new_id", title, date from b where b.id="4")
...