2017-01-23 5 views
-1
update cometchat set read='1' where id='18' 

SQL Ошибка 156: Неправильный синтаксис около ключевого слова «читать».Неправильная ошибка синтаксиса около ключевого слова читать, когда я обновляю

Можете ли вы, ребята, помочь мне, как мне это сделать?

+3

См. Https://dev.mysql.com/doc/refman/5.5/ru/keywords.html – Strawberry

+0

@ Rizier123: на основе сообщения об ошибке база данных, о которой идет речь, не является MySql, а Sql Server, поэтому это ** не ** дубликат поста, который вы выбрали. –

+0

@ ZoharPeled Справа, я только что увидел тег mysql. Затем он должен быть закрыт: http://stackoverflow.com/q/285775 – Rizier123

ответ

0

Вы не должны помещать кавычки вокруг значений int в свой запрос, поскольку он преобразует их в тип строки.

Should I quote numbers in SQL?

UPDATE cometchat SET `read`=1 WHERE id=18 

** Edit: Вы также используете зарезервированное ключевое слово, и нужно, чтобы избежать этого, см:

https://dev.mysql.com/doc/refman/5.5/en/keywords.html

1

Read является зарезервированным словом. Вам нужно избежать этого. Кроме того, если значения являются целыми числами, вы не должны использовать одинарные кавычки вокруг них.

Если это Sql Server (и это, на основании сообщения об ошибке), необходимо использовать квадратные скобки:

update cometchat set [read]=1 where id=18 

В MySql, ваш запрос должен выглядеть следующим образом:

update cometchat set `read`=1 where id=18 
0

Серьезно ...

UPDATE cometchat SET `read`=1... 

"читать" это ограниченное ключевое слово. Это нужно процитировать.