创建表时出现MySQL错误-截断的双精度值不正确?
我有下面的存储过程,调用它时遇到了问题。select语句单独执行时效果很好,创建存储过程也是如此。但是当我“call();”时,我得到了以下错误: 查找错误-MySQL数据库错误:截断了不正确的双精度值:“0g” 这是存储过程。有人看到可能导致此错误的原因吗创建表时出现MySQL错误-截断的双精度值不正确?,mysql,sql,Mysql,Sql,我有下面的存储过程,调用它时遇到了问题。select语句单独执行时效果很好,创建存储过程也是如此。但是当我“call();”时,我得到了以下错误: 查找错误-MySQL数据库错误:截断了不正确的双精度值:“0g” 这是存储过程。有人看到可能导致此错误的原因吗 DROP PROCEDURE IF EXISTS test.clients_shipments_with_line_weight_refresh_sp; CREATE PROCEDURE test.`clients_shipments_w
DROP PROCEDURE IF EXISTS test.clients_shipments_with_line_weight_refresh_sp;
CREATE PROCEDURE test.`clients_shipments_with_line_weight_refresh_sp`()
BEGIN
DROP TABLE IF EXISTS clients_shipments_with_line_weight;
CREATE TABLE clients_shipments_with_line_weight
AS
(SELECT reg_client_shipments.*,
wow3.meta_value AS cannabis_type,
(wow2.meta_value * wp_wowcomm_order_itemmeta.meta_value)
AS total_line_item_weight,
pm3.meta_value AS province
FROM clients_shipments
INNER JOIN wp_postmeta pm2
ON clients_shipments.ID = pm2.post_id
INNER JOIN wp_postmeta pm3
ON clients_shipments.ID = pm3.post_id
AND pm3.meta_key = 'statedeliver'
INNER JOIN wp_wowcomm_order_items
ON wp_wowcomm_order_items.order_id =
clients_shipments.ID
AND wp_wowcomm_order_items.order_item_type =
'product'
INNER JOIN wp_wowcomm_order_itemmeta
ON wp_wowcomm_order_items.order_item_id =
wp_wowcomm_order_itemmeta.order_item_id
AND wp_wowcomm_order_itemmeta.meta_key = 'weight'
INNER JOIN wp_wowcomm_order_itemmeta wow2
ON wp_wowcomm_order_items.order_item_id =
wow2.order_item_id
AND wow2.meta_key = 'amount'
INNER JOIN wp_wowcomm_order_itemmeta wow3
ON wp_wowcomm_order_items.order_item_id =
wow3.order_item_id
AND wow3.meta_key = 'producttype'
GROUP BY wp_wowcomm_order_itemmeta.meta_id);
END;
这个答案表明,您可以在where或on子句上比较数字或字符串
您选择的Station看起来很像它可能正是这样做的。OP建议删除strict,因此它会变成一个警告。有机会看到您正在使用的表的定义吗?这是否说明为什么select有效,但不调用create表?创建一个临时表是可行的。您最好的选择是查看为您正在执行的每个列设置了哪些列类型,然后继续。可以尝试创建表,然后使用Select Into填充数据。如果必须进行数据转换,则使用select创建表的操作可能只需要两个步骤。