-1

この MySql クエリが実行されると:

update order_line_item oli
inner join orders o
set oli.active_orders = o.valid
where oli.order_id = o.id

このエラーが発生し続けます:

SQL エラー (1292): 切り捨てられた不正な DOUBLE 値: '6893Order'

助言がありますか?

追加情報:

  1. 「active_orders」と「valid」の両方が 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     |   
    +-------+-------------+
    
4

1 に答える 1