在更改表之前,我想对其进行备份,因此我使用以下代码:
CREATE TABLE states_BACKUP (
state_id INTEGER NOT NULL,
domain VARCHAR(64),
entity_id VARCHAR(255),
state VARCHAR(255),
attributes TEXT,
event_id INTEGER,
last_changed DATETIME,
last_updated DATETIME,
created DATETIME,
context_id VARCHAR(36),
context_user_id VARCHAR(36), old_state_id INTEGER,
PRIMARY KEY (state_id),
FOREIGN KEY(event_id) REFERENCES events (event_id)
);
INSERT into states_BACKUP
Select *
FROM STATES;
但是,当执行插入部分时,错误消息显示: 执行完成,但有错误。 结果:唯一约束失败:states_BACKUP.state_id 在第18行: 插入状态_BACKUP 选择 * 来自各州;
当我将代码更改为
Select distinct *
FROM STATES;
我得到同样的错误。
尝试在网络上找到如何解决此问题的答案,我发现此错误与重复的ID有关。我不知道当我只复制一个表时怎么发生。
有人对此有解决方案吗?