[英]How to update one table in MYSQL from another table? with extra values
我有兩個相似的表。
Table word
column names: id, name, describe
1 bob Is a cat
2 Sam Not a giraffe
3 Gub Like a cat
Table temp
column names: id, name, describe
1 bob Is a cat
2 Sam Not a giraffe
3 Gub Like a cat
4 Col The other one
我目前正在使用它從表temp更新表字,但是未添加第4個值。 我該怎么做?
UPDATE temp p, word pp
SET pp.name= p.name, pp.describe = p.describe
WHERE pp.id = p.id;
試試這個::插入重復的密鑰更新
INSERT INTO word(id, name, describe) SELECT id, name, describe FROM temp
ON DUPLICATE KEY UPDATE SET word.name = temp.name, word.describe = temp.describe;
如果我理解正確,則希望將值從一個表復制到另一個表,並保持相同的id
。 在這種情況下,您不能將條件WHERE pp.id =p.id。 這樣,它將僅復制“單詞”表中已存在的具有id
行,並跳過所有唯一行。 您可以使用“ INSERT INTO ... ON DUPLICATE KEY UPDATE”來解決它。 http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
最后一個需要插入語句,因為它尚不存在
將單詞INSERT INTO到pp SELECT中*從temp左連接temp.id = word.id的單詞,其中temp.id為NULL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.