我有一个简单的更新查询,但它不起作用:
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
并且除了不是强制性的`特殊字符之外没有任何区别。
delete
是MySQL的保留关键字。
https://dev.mysql.com/doc/refman/5.7/en/keywords.html
通过添加backtick,您告诉MySQL所包含的单词不是MySQL关键字,而是database name
、table name
或field name
。
因此,避免了任何冲突。
DELETE
是SQL中的一个保留关键字。如果不使用backtick字符对其进行转义,则会出现语法错误,查询将无法工作。