加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql – 更新连接另一个表的表

发布时间:2021-04-01 19:32:59 所属栏目:MySql教程 来源:网络整理
导读:更新一个表加入另外一个表. UPDATE t1 SET t1.col1 =1 FROM table1 t1 JOIN table2 t2 ON t1.ID=t2.IDWHERE t1.Name='Test' AND t2.Age=25; 我收到此错误,您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在FROM table1 t1 JOIN table2 t2附

更新一个表加入另外一个表.

UPDATE t1 SET  t1.col1 =1 FROM table1 t1 JOIN  table2 t2 
ON t1.ID=t2.ID
WHERE t1.Name='Test' AND t2.Age=25;

我收到此错误,您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在’FROM table1 t1 JOIN table2 t2附近使用正确的语法…

有什么想法吗?

谢谢.

最佳答案 UPDATE语句中不应该有FROM子句,SET子句应该遵循完整的表引用集:

UPDATE  table1 t1 
JOIN    table2 t2 ON t1.ID = t2.ID
SET     t1.col1 = 1
WHERE   t1.Name = 'Test' AND t2.Age = 25;

测试用例:

CREATE TABLE table1 (id int,col1 int,name varchar(20));
CREATE TABLE table2 (id int,age int);

INSERT INTO table1 VALUES (1,'Test');
INSERT INTO table1 VALUES (2,'Test');
INSERT INTO table1 VALUES (3,'No Test');

INSERT INTO table2 VALUES (1,20);
INSERT INTO table2 VALUES (2,25);
INSERT INTO table2 VALUES (3,25);

结果:

SELECT * FROM table1;
+------+------+---------+
| id   | col1 | name    |
+------+------+---------+
|    1 |    0 | Test    |
|    2 |    1 | Test    |
|    3 |    0 | No Test |
+------+------+---------+
3 rows in set (0.00 sec)

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读