所以有些背景知识。我有一对表格,可以为未来的员工存储“申请信息”。
主表以PHP / SQL显示,并且从表中有一个“删除”应用程序的链接。
INSERT INTO ResultsOLD SELECT * FROM Results WHERE Results.id = '$IDin'
DELETE FROM Results WHERE Results.id = '$IDin' AND Timestamp = '$INts'
以上条目将数据复制到备份表(旧应用程序存储)并从主表中删除该条目。
我现在正在尝试编写一个恢复页面,以便可以从备份表返回一个条目,返回主表(不从备份表中删除)。我有以下SQL查询:
INSERT INTO Results SELECT * FROM ResultsOLD WHERE ResultsOLD.id = '$IDin'
但是当我尝试从新页面运行此查询时,它会出错。我曾尝试研究错误,但我不明白它的含义(我对SQL有点新鲜)。
这是我得到的错误:
只有在使用列列表且IDENTITY_INSERT为ON时,才能指定表'结果'中标识列的显式值。
这是因为我在WHERE中使用ID,这是主键吗?此外,当我重新插入ResultsOLD表中的数据时,我想为该条目分配一个新ID(主键),但保持其他所有内容不变。 ID是自动递增的,但我认为因为我使用ID作为WHERE,它可能也试图插入它?
答案 0 :(得分:1)