我试图创建下面在MYSQL中使用简单的if/else语句使用CASE语句演示的相同类型的逻辑。MYSQL的等效CASE语句中的结构化的If/Else语句
基本上,如果第一个条件是正确的,那么我就放弃其余的。如果第一个没有,但第二个然后放弃其他等
因此,在这种情况下,我将填充数据库中的第一个空白列从左到右的意思是“nwc_signup”,如下所示。
if(rota.nwc_signup_1 = '') {
rota.nwc_signup_1 = ?
} else {
if(rota.nwc_signup_2 = '') {
rota.nwc_signup_2 = ?
} else {
if(rota.nwc_signup_3 = '') {
rota.nwc_signup_3 = ?
} else {
if(rota.nwc_signup_4 = '') {
rota.nwc_signup_4 = ?
}
}
}
}
我试过在MYSQL中使用CASE语句,但它会标记错误。有没有人有一个巧妙的想法来帮助这将不胜感激。
UPDATE
`rota`
INNER JOIN `signups`
ON
signups.signups_user_id = rota.signups_user_id
INNER JOIN `pre_rota`
ON
pre_rota.signups_user_id = signups.signups_user_id
SET
CASE
WHEN rota.nwc_signup_1 = ''
THEN rota.nwc_signup_1 = ?
ELSE
CASE
WHEN rota.nwc_signup_2 = ''
THEN rota.nwc_signup_2 = ?
ELSE
END
END,
WHERE
pre_rota.nwc_username = 'jacktrow'
MySQL的错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CASE
WHEN rota.nwc_signup_1 = ''
THEN SET rota.nwc_si' at line 15
感谢您的答复,非常感谢,我很困惑您的代码,请纠正我,如果我错了,但我不能看到它在我想要的情况下工作。然而,它确实教育并激励我创造我发现的工作,并将其发布为我的答案。 –