"Truncated incorrect DOUBLE value" 在 MySQL
"Truncated incorrect DOUBLE value" in MySQL
正在尝试 运行 下面的查询,但显示错误:
Truncated incorrect DOUBLE value
任何人都可以解释我,我错过了什么吗?
SELECT exam_type_name
FROM exam_types
WHERE exam_type_id IN (SELECT ids FROM exam WHERE id = 37);
上面的子查询returns字符串36,37,39,40
初级Table定义:
CREATE TABLE `careerturn_db`.`exam_types` (
`exam_type_id` int(11) NOT NULL AUTO_INCREMENT,
`exam_type_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`exam_type_id`)
) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=latin1;
子查询Table定义:
CREATE TABLE `careerturn_db`.`exam` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ids` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=latin1;
错误:
您可以使用 FIND_IN_SET
尝试以下操作:
SELECT exam_type_name
FROM exam_types e
WHERE FIND_IN_SET(exam_type_id, (SELECT ids FROM exam WHERE id = 37)) > 0;
原始查询的错误被抛出,因为您试图在看起来像 DOUBLE
值的字符串中搜索整数值。但是 MySQL 无法将此值转换为具有多个 ,
.
的 DOUBLE
正在尝试 运行 下面的查询,但显示错误:
Truncated incorrect DOUBLE value
任何人都可以解释我,我错过了什么吗?
SELECT exam_type_name
FROM exam_types
WHERE exam_type_id IN (SELECT ids FROM exam WHERE id = 37);
上面的子查询returns字符串36,37,39,40
初级Table定义:
CREATE TABLE `careerturn_db`.`exam_types` (
`exam_type_id` int(11) NOT NULL AUTO_INCREMENT,
`exam_type_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`exam_type_id`)
) ENGINE=InnoDB AUTO_INCREMENT=52 DEFAULT CHARSET=latin1;
子查询Table定义:
CREATE TABLE `careerturn_db`.`exam` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ids` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=latin1;
错误:
您可以使用 FIND_IN_SET
尝试以下操作:
SELECT exam_type_name
FROM exam_types e
WHERE FIND_IN_SET(exam_type_id, (SELECT ids FROM exam WHERE id = 37)) > 0;
原始查询的错误被抛出,因为您试图在看起来像 DOUBLE
值的字符串中搜索整数值。但是 MySQL 无法将此值转换为具有多个 ,
.
DOUBLE