【问题标题】:Inserting new rows in a table在表中插入新行
【发布时间】:2017-12-11 07:25:05
【问题描述】:

当我使用 Insert into select 代码添加新闻行时,新行会随机添加到现有行之间,而不是添加到表的末尾。

我正在使用Insert into Table1 (Name1) select Name from Table2

【问题讨论】:

  • 你的表是否已经有一些标识列?
  • Table2 有一个

标签: sql-server


【解决方案1】:

SQL 表是根据无序集建模的,因此您不应假设表中的数据有任何顺序。唯一存在的顺序是您在使用ORDER BY 查询时指定的顺序,例如

SELECT Name1
FROM Table1
ORDER BY Name1

索引也可以被认为是对记录进行排序的一种方式,但这两者大多是与实际表不同的实体。

【讨论】:

  • 我明白了,但我还必须更新许多列,我希望将新行添加到表的末尾和表中,而不是作为视图。
  • @AdityaSingh 那你不明白。只需插入您的数据,不用担心结构。当然,统计数据可能已经改变,你可能不得不改变你的调整,但这可能超出了你的问题范围。
【解决方案2】:

我同意蒂姆的回答。但是,如果您仍然希望以您想要的方式插入数据,那么您可以尝试自己添加增量主键(如 1,2,3 ... 或 10,20,30 ...)。 虽然我不推荐,但如果你不想自己处理主键,我认为以下可以帮助你。

How do I add a auto_increment primary key in SQL Server database?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多