MySQL UPDATE 错误 1064,但查询看起来正确

MySQL Error 1064 with UPDATE, but query looks correct

我不确定这里发生了什么

mysql> update messages set read=1 where id=4;
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 'read=1 where id=4' at line 1

mysql> show columns from messages;
+-------------------+---------------+------+-----+---------+----------------+
| Field             | Type          | Null | Key | Default | Extra          |
+-------------------+---------------+------+-----+---------+----------------+
| id                | int(11)       | NO   | PRI | NULL    | auto_increment |
| account_id        | varchar(255)  | NO   |     | NULL    |                |
| subject           | varchar(2048) | NO   |     | NULL    |                |
| message           | text          | NO   |     | NULL    |                |
| message_id        | int(11)       | NO   |     | 0       |                |
| read              | int(11)       | NO   |     | 0       |                |
| replied           | int(11)       | NO   |     | 0       |                |
| priority          | int(11)       | NO   |     | 0       |                |
| topic             | int(11)       | NO   |     | 0       |                |
| user_deleted      | int(11)       | NO   |     | 0       |                |
| created           | datetime      | NO   |     | NULL    |                |
| modified          | datetime      | NO   |     | NULL    |                |
| to_user_id        | int(11)       | NO   |     | 0       |                |
| recipient_deleted | int(11)       | NO   |     | 0       |                |
| recipient_read    | int(11)       | NO   |     | 0       |                |
+-------------------+---------------+------+-----+---------+----------------+
15 rows in set (0.00 sec)

关于如何更新消息的已读栏的任何想法table?

您可以在下面尝试 - 您需要使用反引号 `` 因为它是保留关键字

update messages set `read`=1 where id=4;