У меня есть таблица 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
со значением, которое находится во временной таблице.