当前位置: 首页 > 知识库问答 >
问题:

MySQL插入语法[重复]

曹乐意
2023-03-14

我有以下结构

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' );

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

我一辈子都在用第三个!

共有2个答案

蒋曾笑
2023-03-14

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

扈运浩
2023-03-14

right是一个mySQL保留字。它仅在包装在反括号中时才起作用。

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

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

 类似资料:
  • 这是我的疑问- 我在执行时遇到这个错误 错误:您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获得使用“alter TABLE tmp drop category_id”附近的正确语法;在第2行插入类别SELECT 0'错误号:1064 但是当我直接在数据库中运行查询时,我不会得到任何错误。请帮帮我!

  • 您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“.255.255、55555、12)”附近使用的正确语法。 为什么这不起作用?

  • 问题内容: 我了解存在和。但是,当有重复的键时,我想对临时表进行操作,以记录已违反的唯一键的记录,以便将其输出给用户。 有什么办法可以做吗?如果有帮助,我正在尝试进行批量插入。 问题答案: 使用,您不能插入到另一个表中-也没有可用的替代功能。 您可以通过两种自定义/替代方式来实现此目的: 使用对此问题的可接受答案中概述的:将MySQL ON DUPLICATE KEY插入到审计表或日志表中 创建一

  • 本文向大家介绍防止mysql重复插入记录的方法,包括了防止mysql重复插入记录的方法的使用技巧和注意事项,需要的朋友参考一下 防止mysql重复插入记录的方法有很多种,常用的是ignore,Replace,ON DUPLICATE KEY UPDATE,当然我们也可以在php中加以判断了。 方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免

  • 问题内容: 我正在使用PHP。 请问什么是将新记录插入具有唯一字段的数据库的正确方法。我正在批量插入很多记录,我只想插入新记录,并且我不想重复条目有任何错误。 有没有唯一方法可以首先进行SELECT并查看条目是否在INSERT之前已经存在-并且仅在SELECT不返回任何记录时才插入INSERT?我希望不是。 我想以某种方式告诉MySQL忽略这些插入而没有任何错误。 谢谢 问题答案: 如果在重复记录

  • 问题内容: 当我尝试将俄语文本插入MySQL数据库时,它会像这样插入:г??????????????? ?? ????????? Рісѓрїр°ріс‹рїр°с‹рір°рї 因此,我有两个页面:registration.php和addUser.php。在每个 数据库由11个表组成,每个表都有排序规则:utf8_general_ci,类型:MyISAM。每个表中的每个字段都具有排序规则:utf