SQL 错误 (1292): 截断不正确的 DOUBLE 值: '6893Order '



当执行此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 ">

有什么建议吗?

附加信息:

  1. "active_orders"和"有效"都是 INT
  2. order_line_item可以为多行引用同一 order.id
  3. 表示例(当前(

    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     |   
    +-------+-------------+
    
  4. 使用查询,我正在尝试复制 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     |   
    +-------+-------------+
    

你是说:

  1. "active_orders"和"有效"都是 INT
  2. 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.您真的运行此查询并收到此错误吗?或者请出示您的表格。

最新更新