当执行此MySql查询时:
update order_line_item oli
inner join orders o
set oli.active_orders = o.valid
where oli.order_id = o.id
我不断收到此错误:
SQL 错误 (1292(:截断了不正确的双精度值:"6893Order ">
有什么建议吗?
附加信息:
- "active_orders"和"有效"都是 INT
- order_line_item可以为多行引用同一 order.id
表示例(当前(
table : order_line_item id order_id active_orders 1 1 2 2 3 3 4 4 5 4 table : orders +-------+-------------+ | id | valid | +-------+-------------+ | 1 | 1 | | 2 | 1 | | 3 | 0 | | 4 | 1 | | 5 | 1 | +-------+-------------+
使用查询,我正在尝试复制 orders.valid 并粘贴到 orders_line_item.active_orders 中:
table : order_line_item +-------+------------+-----------------+ | id | order_id | active_orders | +-------+------------+-----------------+ | 1 | 1 | 1 | | 2 | 2 | 1 | | 3 | 3 | 0 | | 4 | 4 | 1 | | 5 | 4 | 1 | +-------+------------+-----------------+ table : orders +-------+-------------+ | id | valid | +-------+-------------+ | 1 | 1 | | 2 | 1 | | 3 | 0 | | 4 | 1 | | 5 | 1 | +-------+-------------+
你是说:
- "active_orders"和"有效"都是 INT
- order_line_item可以为多行引用同一 order.id
db<>小提琴演示
在我的演示中看到我正在制作所有列INT
并执行您的更新声明
update order_line_item oli
inner join orders o
set oli.active_orders = o.valid
where oli.order_id = o.id
并且没有出现任何错误。错误
SQL 错误 (1292(:截断了不正确的双精度值:"6893Order ">
似乎很清楚有DOUBLE
.您真的运行此查询并收到此错误吗?或者请出示您的表格。