MySQL INSERT INTO语法

Mas*_*345 7 mysql sql sql-server mysqli

我有以下结构

user_id int(11)
right   int(11)
group_id int(11)
value   tinyint(1)
Run Code Online (Sandbox Code Playgroud)

还有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' );
Run Code Online (Sandbox Code Playgroud)

解释我为什么只有第一个有效????

我的一生都在使用第三个!

谢谢.

Pek*_*ica 13

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

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

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