MySQL:根据彼此更新某些字段

时间:2015-10-20 02:20:38

标签: mysql sql case

我有一个包含16个字段的表作为User1,User2,... User16,(+其他一些字段),我有一个名为&#34的存储过程; Register"得到一个"用户名"并将其放在这16个字段的第一个Null字段中,例如,如果User1和User2具有值,则新的"用户名"将放入User3,没有问题

我有另一个存储过程名为" UnRegister"得到一个"用户名"并设置为Null已给出"用户名"

的字段值

更新表并为给定的"用户名"添加Null没有问题。但问题是在将用户(X)更新为空后,用户(X + 1)值应该放在用户(X)字段中!

一个例子:

User1 = "U1"
User2 = "U2"
User3 = "U3"
User4 = "U4"
User5 = NULL
...
User16 = NULL

现在,我想取消注册" U2"结果值应该是这样的:

User1 = "U1"
User2 = "U3"
User3 = "U4"
User4 = NULL
User5 = NULL
...
User16 = NULL

我想,我应该在UPDATE语句中为所有16个字段使用16个CASE语句,并为每个CASE使用16个WHEN !!

还有其他办法吗?!

谢谢......

0 个答案:

没有答案