我对带有2 Where子句的UPDATE语句有一些问题。
我想仅在称为 Lun 的一天更新 StatoBloccato , Aperto , OrarioApertura , OrarioChiusura IDRoom = 1
但是此UPDATE会更改整天的值。
UPDATE room
INNER JOIN giorni ON (room.IDRoom = giorni.FKRoom)
SET StatoBloccato = false,
Aperto = true,
OrarioApertura = '09:00:00',
OrarioChiusura = '18:00:00'
WHERE room.IDRoom = 1 AND Nome LIKE 'Lun%';
有2张桌子:Room,Giorni。
这里是SQLFiddle
答案 0 :(得分:0)
当我尝试here时,这似乎起作用。
具体查询是:
UPDATE room r JOIN
giorni g
ON r.IDRoom = g.FKRoom
SET r.StatoBloccato = false,
g.Aperto = true,
g.OrarioApertura = '09:00:00',
g.OrarioChiusura = '18:00:00'
WHERE r.IDRoom = 1 AND g.Nome LIKE 'Lun%';
尽管这应与您的查询等效,但它使用限定 all 列名,因此很清楚它们来自哪个表。