【发布时间】:2012-06-20 18:03:21
【问题描述】:
我正在尝试选择一个数据表并将此数据插入到另一个具有相似列名的文件中(它本质上是重复数据)。当前语法如下:
INSERT INTO TABLE1 (id, id2, col1, col2)
SELECT similiarId, similiarId2, similiarCol1, similiarCol2
FROM TABLE2
我遇到的问题是为新插入的记录生成唯一的关键字段(声明为整数)。我不能使用 table2 的键,因为 table1 有现有数据,并且重复键值会出错。
我无法更改表架构,这些是自定义 id 列,不是由 DB 自动生成的。
【问题讨论】:
-
保留键的原始值重要吗?
-
不要从 table2 插入相似 ID,让 table table1 为行生成新 id
-
table1 中的 ID 是自定义 ID 吗?如果没有,您可以在 ID 上使用 IDENTITY,它会自动为您创建 ID。
-
你可以对table1使用自动增量,不要像rs说的那样在table1中插入similarId。
-
你不能只在table1中添加一个标识列并将新列作为主键吗?然后,您只需在没有新主键列的情况下进行插入,身份就会自动生成您的键。
标签: sql database select insert sybase