这是两个SugarCRM表之间的更新查询,都是INNODB
看起来很简单,但运行时不会更新记录
查询执行正常,0行受影响
我们已经运行了一个select查询,以确保在id上匹配
也尝试过更新。。。选择变量
已经检查了这两个表的索引——存在并且显然是正确的
有人有什么建议吗。
UPDATE accounts new LEFT join accounts_old old
ON (new.id = old.id)
SET new.billing_address_country = old.billing_address_country
谢谢你的意见。
最佳答案
除非有什么地方。。。为空时,更新查询中的外部联接将非常罕见。你确定这就是你想要的吗?
除此之外,这个查询没有任何问题。。。
DROP TABLE IF EXISTS accounts;
CREATE TABLE accounts(id INT NOT NULL PRIMARY KEY,billing_address_county VARCHAR(40) NOT NULL);
DROP TABLE IF EXISTS accounts_old;
CREATE TABLE accounts_old(id INT NOT NULL PRIMARY KEY,billing_address_county VARCHAR(40) NOT NULL);
INSERT INTO accounts VALUES (1,'Hale County');
INSERT INTO accounts VALUES (2,'Perry County');
INSERT INTO accounts_old VALUES (1,'Hale County');
INSERT INTO accounts_old VALUES (2,'Tuscaloosa County');
UPDATE accounts new
JOIN accounts_old old
ON old.id = new.id
SET new.billing_address_county = old.billing_address_county;
Query OK, 1 row affected (0.01 sec)
Rows matched: 2 Changed: 1 Warnings: 0
mysql> SELECT * FROM accounts;
+----+------------------------+
| id | billing_address_county |
+----+------------------------+
| 1 | Hale County |
| 2 | Tuscaloosa County |
+----+------------------------+
2 rows in set (0.00 sec)
mysql>