8

我有以下结构

user_id int(11)
right   int(11)
group_id int(11)
value   tinyint(1)

和 3 个查询

INSERT INTO  user_rights (`user_id`,`right`,`group_id`,`value`)
VALUES ( '42',  '160',  '1',  '1' );

INSERT INTO  user_rights ('user_id','right','group_id','value')
VALUES ( '42',  '160',  '1',  '1' );

INSERT INTO  user_rights (user_id,right,group_id,value)
VALUES ( '42',  '160',  '1',  '1' );

解释一下为什么只有第一部作品????

我一生都在使用第三个!

4

2 回答 2

12

RIGHT是一个mySQL 的保留字。它只有在包裹在反引号中时才会起作用。

当您不使用保留字时,它也可以在没有反引号的情况下工作。

第二种方法永远不会起作用,因为引号用于引用字符串,但从不用于引用数据库、表或列标识符。

于 2012-07-29T16:01:48.607 回答
0

第二个也不起作用,因为“Right”是 mysql http://drupal.org/node/141051的保留关键字,如果你想使用该查询,你必须使用 ` 来表示它也不起作用

于 2012-07-29T16:13:33.010 回答