我有一个简单的更新查询,但它不起作用:
update user set active = 'Y' , delete = 'N' where id = 1;// not working
但如果我添加一个phpmyadmin使用的特殊字符,那么它正在工作
update `user` set `active` = 'Y' , `delete` = 'N' where `id` = 1;//its working but its database generated
除了非强制性的`特殊字符外,没有区别。
答案 0 :(得分:1)
DELETE
是SQL中的保留关键字。如果没有使用反引号字符转义它,您将收到语法错误,查询将无效。
答案 1 :(得分:1)
delete
是MySQL保留的关键字。
https://dev.mysql.com/doc/refman/5.7/en/keywords.html
通过添加反引号,您告诉MySQL所附的单词不是MySQL关键字,而是database name
,table name
或field name
。
因此,避免任何冲突。