[英]MySQL syntax to insert new rows based on mixed variables plus select records from another table
問題是如何編寫一個MySQL語句,該語句是來自另一個表的變量和數據的組合。
例如,對於表contractor
所有記錄,我想將來自contractor
id
和name
插入表renewals
……並將變量$foo
和$bar
到同一插入的foo
和bar
列中
$foo = 'foo';
$bar = 'bar'
INSERT INTO renewals (id, name, foo, bar)
SELECT id, name FROM contractor
我在如何完成語句的添加方面還處於空白狀態,並且還將不來自表contractor
$foo
和$bar
添加到這些新行的每行中。
另外, renewals
有一個基於(id, name, foo)
的復合鍵(id, name, foo)
因此我需要添加
ON DUPLICATE KEY UPDATE bar = '$bar'
在聲明的末尾。
$query = "INSERT INTO renewals (id, name, foo, bar) "
. "SELECT id, name, '$foo', '$bar' FROM contractor "
. "ON DUPLICATE KEY UPDATE bar = '$bar'";
沒關系$foo
和$bar
都不來自表contractor
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.