2011-04-06 26 views
0

我有兩個表,A和B.MySQL的:通過ID,改變ID選擇行,並將其插入到另一張表

我想選擇基於它的B行的主鍵,改變主鍵爲不同的值,然後插入該行到A.

事情是這樣的:

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

是否有一個解決方案?

+0

樓主在這裏:剛一說明,A和B具有相同的列。 – Jared 2011-04-06 20:41:09

+0

你想在原始行(表B)還是新插入的表(A表)中更改此ID? – 2011-04-06 20:42:55

+0

你有什麼問題?你想在一個查詢中完成它? – dfb 2011-04-06 20:43:33

回答

0

也許像

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

謝謝你的迴應,會選擇id爲「new_id」讓我改變id值到任何引號中? – Jared 2011-04-06 20:46:08

1
INSERT INTO A(id, title, date) 
SELECT 5 AS id, title, date FROM B WHERE B.id="4"; 
#  ^--- here is the trick 
相關問題