我有以下结构
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' );
解释我为什么只有第一个有效????
我一生都在使用第三个!
感谢。
答案 0 :(得分:13)
RIGHT
是mySQL reserved word。只有在用反引号包裹时它才会起作用。
当你不使用保留字时,它也可以在没有反引号的情况下工作。
第二种方式永远不会起作用,因为引号用于引用字符串,但从不引用数据库,表或列标识符。
答案 1 :(得分:0)
第二个也不会起作用,因为“Right”是mysql http://drupal.org/node/141051的保留关键字,如果你想要使用`for right
的那个查询也不行