如何在现有表的中间插入新的数据库记录?

时间:2015-12-14 07:57:34

标签: sql

我想在我的表格中插入新突出显示的行,但之前已经存在一些数据。我该怎么办?

请找到下面的图片;

enter image description here

我想在Rails中使用SQL语句。

2 个答案:

答案 0 :(得分:0)

我使用了以下方法;

User.find(previous id value).update_column(:id, new id value)

例如,第1行的id值为1,第3行的id值为2,并放置id值为3的突出显示的行。 首先我们将id值= 2更改为4,然后将id值= 3更改为2,从而得到结果。希望一切都清楚。

答案 1 :(得分:0)

SQL中的表没有已定义的顺序(它们可能具有,具体取决于具体实现,但您不能指望它。)

如果您需要特定订购,则必须在选择时订购结果集。

因此,我可以看到两种可能性:

  1. 更新“缺失”行上方的每个ID,并使用新的“已释放”ID插入新行。这可能会破坏很多其他东西(对你的id的引用也需要更新)。
  2. 引入一个定义排序的新列。这样,排序可以独立于行的id。