我试图用包含此SQL语句中随机电子邮件地址的字符串测试strcmp()函数:
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;然后我得到了一条错误消息:
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()时会出现这个错误吗?
发布于 2017-08-26 21:15:04
多亏了保罗·T.,答案是:
插入语句没有WHERE子句,除非执行INSERT .语句,则查询的SELECT部分可以使用WHERE子句。
https://stackoverflow.com/questions/45874694
复制相似问题