我在MySQL中有这样一条语句,在UPDATE触发器之前:
SET new.password = (SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 10) WHERE.....不管我把什么放在哪里...它不起作用。整个过程应该是这样的:
SET new.password = (SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 10) where new.time > NOW() + INTERVAL - 2 second;因此,这意味着密码将仅在创建后2秒内更新,而不是在创建后更新。
我得到的是语法错误#1064,有没有人知道语句中遗漏了什么,以及为什么哪里不起作用?谢谢
发布于 2014-07-30 22:52:34
这是什么?
SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 10)...你的意思是:
SELECT LEFT(MD5(RAND()), 10) FROM dual WHERE new.time > NOW() - INTERVAL 2 second然而,我会质疑你的用例。
https://stackoverflow.com/questions/25039534
复制相似问题