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

上一篇:配置多数据源后访问接口出现Incorrect result size: expected 1, actual 0报错如何解决


下一篇:当你遇到Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: