msyql进行更新操作遇到的问题
2024-01-10 11:59:26
msyql进行更新操作遇到的问题
1. You can’t specify target table ‘xxx’ for update in FROM clause
1093 - You can’t specify target table ‘xxx’ for update in FROM clause
update table_a set type = 3 where id in (select id from table_b where xxx=8) ;
table_a和table_b不是同一张表不会报错
update table_a set type = 3 where id in (select id from table_a where xxx=8) ;
如果是同一张表就会报错
解决办法就是多包一层
update table_a set type = 3 where id in (select id from (select id from table_a where type =8) as tmp );
语句的意思就是把type 3 的改为type 8
2 使用update语句时候set使用and拼接引发的数据错误
将type1改为 9 type2改为3
然后会发现。type1变成了0,type2 变成了1
如果小白第一次执行这样的语句又没有经验,又在重要的环境,又不懂得提前备份的习惯,岂不是要引发大问题
将数据还原使用逗号 ,
进行拼接才对
文章来源:https://blog.csdn.net/ganjiee0007/article/details/135497508
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!