在我的一个数据库中,
一个表可以说“Active Records”有一列具有自动递增值或者说是标识列。
现在已删除该表中的记录,让我们说“已删除的记录”表。
现在。我希望它回到原始表“Active Records”。
这是否可以移动到具有原始标识的已删除记录的原始表?
因为我想用已删除的记录维护其他关系(我还没有删除)。 (这是因为用户可能错误地删除了记录。所以我想让它们回收记录)
这有可能吗?
实施例
我在“Active Records”中插入记录。所以自动增量值将是1,2,3,4等等。
现在我删除了记录2并将该记录移至“已删除的记录”
现在用户想要它。但是如果我将该记录插入“Active Records”,它将因为自动增量而被评估为5。但我的价值应保留为2。
答案 0 :(得分:1)
您可以指定IDENTITY_INSERT...ON
,以便使用提供的值而不是自动分配的值。必须指定显式列列表,其中包括SET IDENTITY_INSERT dbo.ActiveRecords ON;
INSERT INTO dbo.ActiveRecords(RecordID, OtherData)
SELECT RecordID, OtherData
FROM dbo.DeletedRecords
WHERE RecordID = 2;
SET IDENTITY_INSERT dbo.ActiveRecords OFF;
列。例如:
In [20]: cat a.csv
Num
1
2
3
4
In [21]: cat b.csv
Num2
1
2
3
4
In [22]: import pandas as pd
In [23]: df = pd.concat((pd.read_csv(f) for f in ['a.csv', 'b.csv']), axis=1)
In [24]: df.to_csv('results.csv', index=False, sep=' ')
In [25]: cat results.csv
Num Num2
1 1
2 2
3 3
4 4