[英]mySQL UPDATE all columns from corresponding columns in another table
我有兩個具有相同架構的表。 還有很多專欄!
我可以通過執行來更新相應表中的記錄
update t1
join t2 on t2.id=t1.id
set t1.column1=t2.column1,
t1.column2=t2.column2...
where t2.columnx > 123;
但是我有很多田地,而且本質上是一個懶惰的混蛋,他寧願刮氂牛並在SE上發帖,也不會列出一列列(可能缺少1)。
除了將列列表寫入文本文件等的一些時髦的解決方案之外,是否有有效的mySQL語法跳過所有列的顯式列表並且更像INSERT ... SELECT?
REPLACE INTO t1 SELECT * FROM t2 WHERE columnx>123;
嘗試使用REPLACE INTO ... SELECT ...
語法http://dev.mysql.com/doc/refman/5.0/en/replace.html
REPLACE INTO t1 SELECT t2.* FROM t2, t1 WHERE t1.columnx>123 AND t1.id=t2.id;
警告! 沒測試過!
僅當表在id
列上具有唯一索引時,此代碼才有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.