为什么这个 strcmp() 语法在 mysql-5.7 中给我一个错误?

Why does this strcmp() syntax give me an error in mysql-5.7?

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

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,它确实如此,我已经包含了 IGNORE 选项 到 SQL 语句以便继续处理错误。有人可以向我解释为什么在 WHERE 子句中使用 运行 strcmp() 时出现此错误吗?

感谢 Paul T.,答案是:

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