0

我有这个查询

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

我收到了这个错误

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

我没有错过这里的连接,我已经在任何地方都使用了这样的简单更新,直到这没有问题,也许我累了,但这会让我发疯,直到我有答案

4

3 回答 3

3

when 是 mysql 中的关键字,更改列名或者可以将其用作

`when`='2012-07-06 05:44:27'
于 2012-06-26T09:56:12.950 回答
1

whenmysql中的保留字

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

所以你必须反引号你的列

于 2012-06-26T09:56:47.277 回答
1

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

UPDATE user_remember_me 
SET
  `when`='2012-07-06 05:44:27',
  `hash`='c8e9d2c0dd156b5c68d0b048e5daa948e6b8fac7'
WHERE `user` = '21';
于 2012-06-26T09:57:53.857 回答