2016-03-10 6 views
1

У меня есть таблица Provision с этой структурой:MySQL не обновляет строки из временной таблицы

ONT_ID varchar(12) PK 
neID set('7360-1','7360-2','7360-3','5000-1','5000-2') not null 

и некоторых других дерьмо

Я нагруженной временную таблицу под названием tempTable, который имеет ту же структуру и тот же данные. Перед тем, как попробовать, что я делаю, neID в таблице Provision было полем varchar. Значения, которые не совпадали с набором, были удалены. (Я делал это раньше без проблем.)

Ни это:

UPDATE Provision P 
INNER JOIN tempTable TT ON TT.ONT_ID = P.ONT_ID 
SET P.neID = TT.NE_ID 

Также это (прерывистая для удобства чтения):

update Provision P 
set P.neID = ( 
select TT.NE_ID from tempTable TT where TT.ONT_ID = P.ONT_ID 
) 

... выполняет то, что они, как предполагается, к. Что происходит?

Таблица Provision имеет запись ONT_ID, а neID - пустая строка. Таблица температур имеет тот же самый ONT_ID и соответствующий NE_ID. Я пытаюсь обновить neID в таблице Provision со значением, которое находится во временной таблице.

ответ

1

Данные в tempTable были неправильными. Изменены данные и обновлены таблица Provision.