0

为什么我会收到错误消息?

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“阅读、撰写、回复、审核 FROM article_permissions”附近使用正确的语法
选择
permission_id、category_id、group_id、阅读、撰写、回复、适度
FROM article_permissions
WHERE category_id = 6
     AND group_id = 0
ORDER BY permission_id DESC
限制 1

这是表格:

如果不存在 `article_permissions` 则创建表(
  `permission_id` int(15) NOT NULL AUTO_INCREMENT,
  `category_id` int(15) NOT NULL,
  `group_id` int(15) NOT NULL,
  `read` tinyint(1) NOT NULL,
  `compose` tinyint(1) NOT NULL,
  `reply` tinyint(1) NOT NULL,
  `moderate` tinyint(1) NOT NULL,
  主键(`permission_id`)
) 引擎=InnoDB 默认字符集=latin1 AUTO_INCREMENT=2 ;
4

1 回答 1

3

read是 MySQL 的保留字。要将其用作查询中的列名,请将其放在反引号中(就像您在表创建语句中所做的那样)。

SELECT 
`permission_id`, `category_id`, `group_id`, `read`, `compose`, `reply`, `moderate`
FROM article_permissions
WHERE `category_id` = 6
     AND `group_id` = 0 
ORDER BY `permission_id` DESC 
LIMIT 1

(如果启用该ANSI_QUOTES选项,则可以使用双引号代替,这样更便携。)

于 2013-08-22T23:19:35.587 回答