MySQL查询健全性检查,用于更新查询

时间:2012-06-26 09:55:07

标签: mysql

我有这个查询

update user_remember_me set
when='2012-07-06 05:44:27',
hash='c8e9d2c0dd156b5c68d0b048e5daa948e6b8fac7'
where user = '21';

我收到此错误

  
    

错误:您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以便在'when ='2012-07-06 05:44:27'附近使用正确的语法,在第1行找到'='c8e9d2c0dd156b5c68d0b048e5daa948e6b8fac7'wher'

  

我没有错过这里的联系,我已经使用了这样的简单更新到处都没有问题直到这个,也许我厌倦​​了,但这会让我疯狂直到我得到答案

3 个答案:

答案 0 :(得分:3)

何时是mysql中的关键字,请更改列名 或者你可以用它作为

`when`='2012-07-06 05:44:27'

答案 1 :(得分:1)

whenreserved word in mysql

update user_remember_me set
`when`='2012-07-06 05:44:27',
`hash`='c8e9d2c0dd156b5c68d0b048e5daa948e6b8fac7'
where user = '21';

所以你必须回填你的专栏

答案 2 :(得分:1)

when是MySQL中的关键字。如果要将其用作列标识符(就像所有列标识符一样!),则必须将其转义:

UPDATE user_remember_me 
SET
  `when`='2012-07-06 05:44:27',
  `hash`='c8e9d2c0dd156b5c68d0b048e5daa948e6b8fac7'
WHERE `user` = '21';