關於此問題有許多不同的帖子,但我無法找到我需要的答案。我希望這個問題是獨一無二的。使用公共字段將記錄從一個表追加到另一個表
我試圖將所有數據從一個表追加到另一個表,而不創建新記錄。第二個表中的數據實際上是第一個表中現有記錄的一部分數據的子集。
例如: 我有表「SPK」。我想把所有來自SPK的數據寫入表「RCT」。我想匹配的每條記錄之間的通用字段是RegID,它在兩個表中都是唯一的(即每個RCT記錄只有一個SPK記錄)。
關於此問題有許多不同的帖子,但我無法找到我需要的答案。我希望這個問題是獨一無二的。使用公共字段將記錄從一個表追加到另一個表
我試圖將所有數據從一個表追加到另一個表,而不創建新記錄。第二個表中的數據實際上是第一個表中現有記錄的一部分數據的子集。
例如: 我有表「SPK」。我想把所有來自SPK的數據寫入表「RCT」。我想匹配的每條記錄之間的通用字段是RegID,它在兩個表中都是唯一的(即每個RCT記錄只有一個SPK記錄)。
如果我理解正確,你的意思是將一個表中的列(稱爲SECOND)追加到另一個表中(稱之爲FIRST)。
在這種情況下,這是否工作?
UPDATE
regcontactsTest
JOIN
speakersTest
ON speakersTest.RegistrationID = regcontactsTest.RegistrationID
SET regcontactsTest.presentationtitle = speakersTest.presentationtitle
編輯:更新基於MariaDB的語法
您需要使用JOIN查詢。對於一般更新加入:
update tab1 a
join tab2 b ON a.join_colA = b.join_colB
SET a.columnToUpdate = [something]
或者換句話說:
update
tab1 a
join tab2 b on ..
set a.field=...;
於是我就這個確切的查詢。但它給了我這個錯誤:*#1064 - 你的SQL語法有錯誤;檢查對應於您MariaDB的服務器版本在第3行* 'UPDATE regcontactsTest SET regcontactsTest.presentationtitle = speakersTest.presentationtitle 使用近 'FROM speakersTest JOIN regcontactsTest ON speakersTest' FROM speakersTest JOIN 正確的語法手冊regcontactsTest ON speakersTest.RegistrationID = regcontactsTest.RegistrationID' – Mert
你可以嘗試這樣的:UPDATE regcontactsTest JOIN speakersTest ON speakersTest.RegistrationID = regcontactsTest.RegistrationID SET regcontactsTest.presentationtitle = speakersTest.presentationtitle – Bajji
這個工作:)謝謝你這麼多。 – Mert