首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Where after子串语句在Before Update触发器MySQL中不起作用

问Where after子串语句在Before Update触发器MySQL中不起作用
EN

Stack Overflow用户
提问于 2014-07-30 22:31:28
回答 1查看 79关注 0票数 0

我在MySQL中有这样一条语句,在UPDATE触发器之前:

代码语言:javascript
复制
SET new.password = (SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 10) WHERE.....

不管我把什么放在哪里...它不起作用。整个过程应该是这样的:

代码语言:javascript
复制
SET new.password = (SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 10) where new.time >  NOW() + INTERVAL - 2 second;

因此,这意味着密码将仅在创建后2秒内更新,而不是在创建后更新。

我得到的是语法错误#1064,有没有人知道语句中遗漏了什么,以及为什么哪里不起作用?谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 22:52:34

这是什么?

代码语言:javascript
复制
SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 10)...

你的意思是:

代码语言:javascript
复制
SELECT LEFT(MD5(RAND()), 10) FROM dual WHERE new.time > NOW() - INTERVAL 2 second

然而,我会质疑你的用例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25039534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档