我目前正在使用以下語句:REPLACE INTO TableName (Col1, Col2, Col3, Col4) SELECT * FROM AnotherTable WHERE Col2 = 'Something' AND Col3 <> 'word'這樣做的問題是,表名包含附加列(即COL0,COL5,COL6是不存在的)AnotherTable,其數據我不想擦拭。我注意到有一個稱為的語句,INSERT INTO ... ON DUPLICATE KEY UPDATE但是我不確定如何將該SELECT * FROM語句與我用來從另一個表復制特定數據的語句合并。如果可能的話,該如何做?如有必要,可以使用補充的Python2.7代碼。服務器版本: 10.1.23-MariaDB-9 + deb9u1 Raspbian 9.0
1 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
INSERT INTO TableName (Col1, Col2, Col3, Col4) SELECT * FROM AnotherTable WHERE Col2 = 'Something' AND Col3 <> 'word' ON DUPLICATE KEY UPDATE Col1=AnotherTable.Col1, Col2=AnotherTable.Col2, Col3=AnotherTable.Col3, Col4=AnotherTable.Col4
請注意,可以通過格式使用完全限定的引用來Table.Column
替代靜態/指定值。
正如danblack提醒的那樣,該REPLACE
功能由ON DUPLICATE KEY UPDATE
引入的接管,后者取決于UNIQUE
索引或PRIMARY KEY
s。
添加回答
舉報
0/150
提交
取消