Ошибка SQL (1292): усеченное неверное значение DOUBLE: '6893Order' - PullRequest
0 голосов
/ 02 октября 2018

Когда этот запрос 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 может ссылаться на один и тот же порядок.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 Ответ

0 голосов
/ 02 октября 2018

Вы говорите:

  1. И "active_orders", и "valid" - INT
  2. order_line_item может ссылаться на один и тот же order.id для нескольких строк

db <> fiddle Demo

Посмотрите в моем демо я сделаю все colum до INT и сделайте ваше заявление об обновлении

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'

Кажется довольно очевидным, что DOUBLE.Вы действительно выполняете этот запрос и получаете эту ошибку?Или, пожалуйста, покажите таблицу.

...