表table如下:
但在我的mysql数据库测试半天都不成功。后面在网上看到说mysql 不支持 update 子查询更新。
将对table的别名a,b放到了前面。前几天发现mysql的gruop by的说明是返回唯一值,返回的结果集是删除了重复项。但sybase里面却行不通。纠结。
| id | code | name |
| 1 | c1 | null |
| 2 | c1 | c1name |
| 3 | c2 | null |
| 4 | c2 | c2name |
| 5 | c3 | c3name |
| 6 | c4 | null |
要求:把table里面对于相同的code的null值用不为null的值赋值。
例:id=1和id=2的code值一样,把id=1的name,update为id为2的name值.
在系统sybase里面用下面的sql语句,可以测试成功:
update a set a.name= b.name
from table a,tabel b
where a.code = b.code and a.name is null and b.name is not null但在我的mysql数据库测试半天都不成功。后面在网上看到说mysql 不支持 update 子查询更新。
新语句如下:
update table a inner join table b
on a.code=b. code
set a. name =b. name
where a. code is not null and b.i name is not null将对table的别名a,b放到了前面。前几天发现mysql的gruop by的说明是返回唯一值,返回的结果集是删除了重复项。但sybase里面却行不通。纠结。
本文详细探讨了如何在MySQL数据库中解决更新子查询赋值时遇到的问题,并通过具体案例展示了Sybase与MySQL之间的差异,提供了解决方案及技术背景解释。
1380

被折叠的 条评论
为什么被折叠?



