MySQL更新查询

标签 mysql sugarcrm

这是两个 SugarCRM 表之间的更新查询,都是 INNODB 看起来很简单,但运行时不会更新记录

查询执行正常,0 行受影响

我们运行了一个选择查询来确保我们在 ID 上有匹配 也试过更新...选择变体

检查了两个表的索引——存在并且显然没问题 有没有人有任何提示。

UPDATE accounts new LEFT join  accounts_old old
ON (new.id = old.id) 
SET new.billing_address_country = old.billing_address_country

感谢您的任何想法。

最佳答案

除非伴随着 WHERE... IS NULL,UPDATE 查询中的 OUTER JOIN 非常罕见。你确定那是你想要的吗?

除此之外,这个查询没有任何问题......

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>

关于MySQL更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17581528/

相关文章:

php - 在数据库中设置 utf8 - 我可以从 php 代码中删除 SET NAMES utf8

php - 在 wordpress 中重写自定义 URL

php - 在MYSQL中存储数组?

roles - 根据用户角色将自定义字段设置为只读

fatal-error - 调用未定义的函数iconv() fatal error -Suitecrm

php - MySQL:具有重复任务的传输规划器

mysql - 错误代码 : 1406. 列数据太长 - MySQL

sugarcrm - SuiteCRM、SugarCRM : Many relationships "many-to-many" between same two modules

sugarcrm - SuiteCRM 如何创建类似于 "referred by"字段的名为 "assigned to"的自定义字段?

php - Listviewdef 中的 SugarCRM Smarty 代码