表2_1_journal
mysql INNER JOIN與WHERE。需要了解的代碼確實
TransactionPartnerName
-----------------------
name 1
name 2
name 3
表2_1_transactionpartners
CompanyName | PreviousCompanyName
------------------------------------
name 1 |
name 2 |
name 3 | name 2
例如想改變name 1
到name 11
。
首先,在表2_1_transactionpartners
從CompanyName
複製name 1
和表2_1_journal
變化name 1
粘貼PreviousCompanyName
接下來需要name 11
。我認爲:將TransactionPartnerName
更改爲CompanyName
,其中TransactionPartnerName
等於PreviousCompanyName
。但我不想在表2_1_journal
更改name 2
到name 3
,因爲想要(給命令)只將name 1
更改爲name 11
。
這是我的代碼。沒有發現錯誤。但要確保什麼代碼所做的
UPDATE 2_1_journal
INNER JOIN 2_1_transactionpartners ON (2_1_journal.TransactionPartnerName = 2_1_transactionpartners.PreviousCompanyName)
SET 2_1_journal.TransactionPartnerName = 2_1_transactionpartners.CompanyName
WHERE 2_1_transactionpartners.CompanyName = ?
?
= name 11
由於理解的代碼更新2_1_journal
和複製CompanyName
到TransactionPartnerName
如果CompanyName
等於name 11
和TransactionPartnerName
等於PreviousCompanyName
我是正確?可能有更好的方法來達到目的嗎?
此代碼是否更快(執行更快)?在某處我更好地使用'INNER JOIN'來閱讀 – user2465936