Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql内部连接到WHERE。需要了解代码的作用_Mysql - Fatal编程技术网

mysql内部连接到WHERE。需要了解代码的作用

mysql内部连接到WHERE。需要了解代码的作用,mysql,Mysql,表2\u 1\u日记帐 TransactionPartnerName ----------------------- name 1 name 2 name 3 表2\u 1\u交易伙伴 CompanyName | PreviousCompanyName ------------------------------------ name 1 | name 2 | name 3 | name 2 例如,要将name 1更改为n

2\u 1\u日记帐

TransactionPartnerName 
-----------------------
 name 1
 name 2
 name 3
2\u 1\u交易伙伴

CompanyName   |  PreviousCompanyName
------------------------------------
 name 1       |   
 name 2       |   
 name 3       |  name 2
例如,要将
name 1
更改为
name 11

首先在表
2\u 1\u transactionpartners
中从
CompanyName
复制
name 1
,并将其粘贴到
PreviousCompanyName

2\u 1\u journal
中的下一个需要将
name 1
更改为
name 11
。我认为:将
TransactionPartnerName
更改为
CompanyName
,其中
TransactionPartnerName
等于
PreviousCompanyName
。但是我不想在表
2\u 1\u 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 = ?
=
名称11

如理解,如果
CompanyName
等于
name 11
TransactionPartnerName
等于
PreviousCompanyName

我说得对吗?可能有更好的方法来达到这个目标吗

这段代码是否更快(执行速度更快)?我在某个地方读到,使用
内部连接更好
UPDATE IGNORE 2_1_transactionpartners, 2_1_journal 
SET 2_1_journal.TransactionPartnerName = 2_1_transactionpartners.CompanyName
WHERE 2_1_journal.TransactionPartnerName =  
2_1_transactionpartners.PreviousCompanyName
AND 2_1_transactionpartners.CompanyName = ?