我有sid = xxxx。
还有一张桌子名称' room'和列名sid1,sid2和sid3。 我如何检查哪个列为null并在任何一个空列中插入sid值。
sid1 sid2 sid3 roomno
NULL 2222 NULL 1
5432 NULL NULL 2
答案 0 :(得分:0)
如果你只有3列,这也不错。 。
update room
set sid1 = (case when sid1 is null then $newval else sid1 end),
sid2 = (case when sid1 is not null and sid2 is null then $newval else sid2 end),
sid3 = (case when sid1 is not null and sid2 is not null and sid3 is null then $newval else sid3 end)
where roomno = $roomno;
但是,我强烈建议您创建一个联结表,每个sid一行,每个房间一行。