首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个strcmp()语法在MySQL5.7中给了我一个错误?

为什么这个strcmp()语法在MySQL5.7中给了我一个错误?
EN

Stack Overflow用户
提问于 2017-08-25 05:01:33
回答 1查看 120关注 0票数 0

我试图用包含此SQL语句中随机电子邮件地址的字符串测试strcmp()函数:

代码语言:javascript
复制
INSERT IGNORE INTO possible_duplicate_email
-> (human_id, email_address_1, email_address_2, entry_date)
-> VALUES(LAST_INSERT_ID(), 'bobyfischer@mymail.com', 
                                   'bobbyfischer@mymail.com')
-> WHERE ABS( STRCMP('bobbyrobin@mymail.com', 'bobyrobin@mymail.com') ) = 1;

然后我得到了一条错误消息:

代码语言:javascript
复制
ERROR 1064 (42000): 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 'WHERE ABS( STRCMP('bobbyrobin@mymail.com', 
'bobyrobin@mymail.com') ) = 1' at line 4

我阅读了mysql-5.7参考手册中的strcmp()文档,并尝试了一条简单的SELECT语句,以查看strcmp()返回一个数值范围为-1、0、1的数值,并将忽略选项包含在SQL语句中,以便继续执行错误操作。有人能解释一下为什么在WHERE子句中运行strcmp()时会出现这个错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-26 21:15:04

多亏了保罗·T.,答案是:

插入语句没有WHERE子句,除非执行INSERT .语句,则查询的SELECT部分可以使用WHERE子句。

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

https://stackoverflow.com/questions/45874694

复制
相关文章

相似问题

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