MySQL中 Truncated incorrect DOUBLE value: ‘VhxidcJEnrcwNIcVHwysVM6z2udOeW2S‘错误解决办法

批量删除操作

1、错误写法SQL:DELETE FROM table WHERE ID IN(SELECT ID FROM table)

报错:You can't specify target table 'saas_tenant_student' for update in FROM clause

原因:我们不能SELECT某些值,然后直接进行更新操作

2、利用中间表巧妙解决(将SELECT出的结果再通过中间表SELECT一遍)

SQL:DELETE FROM table WHERE t.ID IN(SELECT ID FROM(SELECT ID FROM table) t);

错误:Truncated incorrect DOUBLE value: 'VhxidcJEnrcwNIcVHwysVM6z2udOeW2S'

3、完美写法

SQL:DELETE IGNORE FROM table WHERE t.ID IN(SELECT ID FROM(SELECT ID FROM table) t);

原理:IGNORE 关键字,可以将其中错误的数据行忽略,适用于批量操作大量的数据,当其中某些错误,可以忽略不记的情况
————————————————
版权声明:本文为CSDN博主「程序员Forlan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36433289/article/details/120193424

posted @ 2021-09-10 08:50  程序员Forlan  阅读(113)  评论(0编辑  收藏  举报