当前位置: 首页 > 面试题库 >

用于在中间行中插入新行的MySQL语法?

易自珍
2023-03-14
问题内容

mysql sintax用于在中间行或我们想要的任何地方插入新行而不更新现有行,而是自动增加主键(id)?

' id | value
' 1  | 100
' 2  | 200
' 3  | 400
' 4  | 500

我想在id 2之后插入一个新行,其值=300。我希望输出如下:

' id | value
' 1  | 100
' 2  | 200
' 3  | 300  <-- new row with id (automatic increment)
' 4  | 400  <-- id=id+1
' 5  | 500  <-- id=id+1

谢谢。


问题答案:

您将不得不将其分为2个操作。

START TRANSACTION;

UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;

INSERT INTO table1 (id, value) VALUES (3, 300);

COMMIT;

请注意,您需要order by在update语句中使用,因此它将首先从最高ID开始。

另一个想法是在2到3之间声明idas decimal(10,1)并将值插入2.5id。



 类似资料:
  • 问题内容: 这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 如果一次插入多行,数据库查询会更快吗: 喜欢 (我需要插入2-3000行) 问题答案: 使用语法的语句可以插入多行。为此,请包括多个列值列表,每个列值括在括号内并用逗号分隔。 例: 资源

  • 问题内容: 这似乎是一个常见问题,但是我在Google或SO上都找不到。如果找到一篇,请给我指出这篇文章。 我如何在bash提示符(当您按ENTER键时)中插入新行,类似于Windows提示符? Linux: 视窗: 我之间需要额外的空间。 问题答案: 更改PS1 Bash提示变量:

  • 我有一张非常复杂的表格,是这样的:- 现在,我需要处理一个查询,该查询应该重复一个行,其中假设p2值对于该特定年份或从2009年、2010年或2011年中的任何年份都不可用,并将最后一列的值作为零放入其中。 所以现在我的数据库看起来应该像- 我试着使用临时表 但它不起作用。有谁能帮我。

  • 我想知道如何一次将数据批量插入MySQL数据库,我不知道怎么做。根据mvc单击提交按钮时插入表数据。 和来自另一个表我想将所有数据添加到另一个表中,和是只读的 检查这张照片 milkload jsp页面 Milkload模型类 MilkLoadDAO类

  • 本文向大家介绍在MySQL中仅使用默认值插入行,包括了在MySQL中仅使用默认值插入行的使用技巧和注意事项,需要的朋友参考一下 在创建表时使用DEFAULT关键字,只要您不为该列提供值,它将插入默认值。 让我们首先创建一个表。在这里,对于ClientAge,我们设置了默认值24:首先让我们创建一个表。在这里,对于ClientAge,我们设置了默认值24- 使用insert命令在表中插入一些记录。对

  • 问题内容: 如何防止在php mysql中输入重复记录?在插入表之前验证输入。 我目前正在为我的网站建立一个用户注册部分,但是如果在数据库中发现重复的用户名或电子邮件地址,我想向他们显示一个错误。 编辑 这是我到目前为止要插入的行…我将如何在这里实现这两个答案: 我猜我可以在if … else语句中实现所有功能吗? 问题答案: 我使用了sql语句以及if else语句。 然后 显示错误消息,以防止