在 MySQL 中截断不正确的 DOUBLE 错误

六月

我写了一个简单的mysql程序如下:

DELIMITER $$ 
create procedure trialdbjs.spDeleteEmployees(in IDs nvarchar(1000))
Begin
    Delete from employees_js Where ID IN (IDs);
end$$

它适用于单个 ID 值,但是当我使用逗号分隔值调用该过程时,例如:'2,4'

例如:
调用trialdbjs.spDeleteEmployees('2,4');

这将返回以下错误:截断不正确的 DOUBLE 值:'2,4'

我希望你能帮帮我!

提前致谢

戈登·利诺夫

您不能以这种方式编写存储过程。问题是IN它被'2,4'视为字符串值,然后尝试将其转换为数字(因为id是数字)。

这是解决此问题的一种方法:

delimiter $$ 
create procedure trialdbjs.spDeleteEmployees(
    in in_IDs nvarchar(1000)
)
Begin
    Delete from employees_js Where find_in_set(id, in_IDs) > 0;
end$$

还有其他方法可以解决这个问题(动态 SQL 会更快,因为它可以使用索引)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MYSQL不正确DOUBLE值Python 3中

数据截断:截断不正确的Double值

MySQL截断了Java Spring存储库中不正确的DOUBLE值:“ string”

WAMP / MySQL错误,语言不正确

错误代码1292-截断了错误的DOUBLE值-MySQL

MYSQL截断了错误的DOUBLE值

如何避免MySQL的隐式转换(截断了不正确的DOUBLE值)

截断了不正确的日期时间值mysql

截断了不正确的DOUBLE值mysql存储过程

如何理解MySQL函数中截断不正确的双值错误的原因?

MYSQL截断了错误的DOUBLE值:相乘

java mysql数据截断:不正确的日期值:”错误

MySQL,错误126:表的密钥文件不正确

从Excel处理CSV文件到MySQL中,产生“字符串值不正确”错误

Mysql错误:截断了错误的DOUBLE值:'world'

错误代码:1292-截断了不正确的DOUBLE值:“-”

MYSQL INSERT语法错误,行号不正确

为什么会出现“ com.mysql.jdbc.MysqlDataTruncation:数据截断:不正确的datetime值:”错误?

在SQL语句上截断了不正确的DOUBLE值错误?

MySQL错误1292日期值不正确?

截断了不正确的 INTEGER 值:Java 和 MySQL 中的“%”

Python/MySQL:在简单的文本插入中“截断了不正确的双精度值...”

MySQL 错误 1005:外键约束的格式不正确

错误代码:1292。截断了不正确的 DOUBLE 值

错误 1292 (22007) 的含义:截断不正确的 DOUBLE 值:'JAIN'

Spring 数据 r2dbc 错误 - 截断了不正确的 DOUBLE 值

MYSQL 在使用双引号和单引号时截断了不正确的 DOUBLE

使用 DELETE 语句截断了不正确的 DOUBLE 值

将值插入到带有检查约束 >0.00 的 DECIMAL 列中会产生 SQL 错误 1292 截断的不正确的 DOUBLE 值