1、第一种:使用b表数据更新a表
update Player as a ,PlayerSet as b set a.role_id=b.set_value where a.role_id=b.set_key
2、第二种:也是使用b表数据更新a表,只是方法不一样
update RoleSet set_key=(SELECT name FROM Player where id = RoleSet.set_value);
3、第三种:使用中间表,解决下面错误
Error Code: 1055. Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'xxxxxxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (中文意思大概是:不能对同一张表进行同时读写)
4、分享一个小技巧:使用变量增加不重复后缀
set @i:=1; update Group SET name=CONCAT(name,'_', (@i:=@i+1)) where name in ( SELECT a.GroupName from ( SELECT name as GroupName FROM Group GROUP BY name HAVING count(*) > 1 ) as a );
这上面的内容就是MySQL数据库update更新中的所有内容了,看的不过瘾那就多练习几次多我们的今后的开发生涯绝对会起到不小的帮助!!
再来几篇:
update更新,batch批量更新insert 数据到表中,将表中数据插入到另一个表中insert ignore忽略重复数据插入报错问题update更新。
MySQL数据库select for update的使用方法
Mysql SELECT FOR UPDATE MySQL 使用SELECT ... FOR UPDATE 做事务写入前的确认
以上就是MySQL数据库update语句使用详解的详细内容,更多请关注php中文网其它相关文章!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
- 上一篇:25行实现mysql树查询代码详解
- 下一篇:mysql分页查询实例讲解
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论