无法检索多个生成的auto-inc变量。调用LAST_INSERT_ID()返回最后一次插入生成的第一个值。
要获取所有值,每次插入一行,并在每一行之后调用LAST_INSERT_ID()。这会导致更多的开销,但这是唯一的解决办法。
如果您正在执行insert...select
或load DATA infile
,在批处理中生成许多新的id值,则这尤其是一个问题。
问题内容: 这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 如果一次插入多行,数据库查询会更快吗: 喜欢 (我需要插入2-3000行) 问题答案: 使用语法的语句可以插入多行。为此,请包括多个列值列表,每个列值括在括号内并用逗号分隔。 例: 资源
问题内容: 如何防止在php mysql中输入重复记录?在插入表之前验证输入。 我目前正在为我的网站建立一个用户注册部分,但是如果在数据库中发现重复的用户名或电子邮件地址,我想向他们显示一个错误。 编辑 这是我到目前为止要插入的行…我将如何在这里实现这两个答案: 我猜我可以在if … else语句中实现所有功能吗? 问题答案: 我使用了sql语句以及if else语句。 然后 显示错误消息,以防止
问题内容: 我试图通过存储过程获取一个字段,我使用以下查询。我的目的是获取多行,但是只有在存在单行时,它才能成功执行结果。否则它将返回错误,如下所述。 MYSQL查询 错误信息 注意 问题答案: 该错误不在您的过程中。错误出现在您的查询中-返回的行多于一行,但是您无法将多个结果设置为标量值’emp1’。 您应该限制查询,使其返回一行。 如何从mysql中的存储过程检索多行? 计划A:填写另一个表,
我正在尝试用mysql编写一个查询,其中我的表结构如下所示 这里我有美国的id,它是1,使用这个id我想检索美国的所有州和每个州的城市。这里, 如果state_id和city_id为0,则为国家 如果city_id为0,则为状态 如果state_id为0,则为城市 位置id为auto_increment 请有人帮帮我,谢谢。
问题内容: 我使用此命令在两列表中插入一些单词: 如何获取每个单词插入行的ID(主键)。我的意思是执行后返回“ 55,56,57”之类的值。MySQL有这样的反应吗? 术语列是。如果一个术语已经存在,MySQL将不会插入它。是否可以返回该重复项的引用(即该术语所在行的ID)?像“55,A响应 12 ,56”。 问题答案: 您可以通过调用框架或MySQL库(使用任何语言)来获取它。 那行不通。插入后
问题内容: 我有以下SQLite代码。如何在每行中插入自动生成的唯一ID? 问题答案: 您可以将其定义为自动递增列: 正如MichaelDorner指出的那样,SQLite文档说an可以做同样的事情,并且速度稍快。该类型的列是其别名,其行为类似于自动增量列。 此行为是隐式的,可能会使经验不足的SQLite开发人员措手不及。