MySQL查询中select语句中的大小写检查过期
我正在使用MySQLMySQL查询中select语句中的大小写检查过期,mysql,Mysql,我正在使用MySQLcase,我不知道我的查询有什么问题。错误来自update语句。我不知道我的想法是否有效。提前谢谢 这是我的问题 SELECT CASE WHEN (date(au.expiration) < date(now())) THEN (UPDATE controller SET access = '0' WHERE idno = au.assignedidno) ELSE (UPDATE controller SET access = '1' WHERE idno
case
,我不知道我的查询有什么问题。错误来自update语句。我不知道我的想法是否有效。提前谢谢
这是我的问题
SELECT CASE WHEN (date(au.expiration) < date(now()))
THEN (UPDATE controller SET access = '0' WHERE idno = au.assignedidno)
ELSE (UPDATE controller SET access = '1' WHERE idno = au.assignedidno)
END FROM assignuser au
选择案例时间(日期(au.expiration)
请提供帮助。我认为您需要一个包含两个表的联接的UPDATE语句,并使用大小写表达式将值设置为列:
UPDATE controller c
INNER JOIN assignuser au
ON c.idno = au.assignedidno
SET c.access = CASE
WHEN (date(au.expiration) < date(now())) THEN '0'
ELSE '1'
END
UPDATE controller c
INNER JOIN assignuser au
ON c.idno = au.assignedidno
SET c.access = (date(au.expiration) >= date(now()))