sqlite - 唯一约束失败的sqlite
问题描述
在更改表之前,我想对其进行备份,因此我使用以下代码:
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;
但是,当执行插入部分时,会出现一条错误消息:执行完成但出现错误。结果:UNIQUE 约束失败:states_BACKUP.state_id 第 18 行:INSERT into states_BACKUP Select * FROM STATES;
当我将代码更改为
Select distinct *
FROM STATES;
我得到同样的错误。
试图在网上找到如何解决这个问题的答案,我发现这个错误与重复的 ID 有关。我想知道当我只是复制一张表时会发生这种情况。
有人对此有解决方案吗?
解决方案
推荐阅读
- debugging - 颤振调试:等待调试连接时出错:错误状态:无元素
- c++ - 使用 Visual Studio 2019 构建 Hello World wxwidgets 应用程序时出错
- python - how to calculate number of tokens in a file nlp
- python - 对于每组 Y 行,从具有 X 行的数据框中复制前 n 行(其中 X 是 Y 的倍数)
- git - 如何提取另一个内部的 git 存储库
- excel - CSV文件,不保留前导零,做什么
- django - How to make a foreign key relationship to a many-to-many field?
- python - 使用python查找偶数斐波那契数
- jenkins - How to use jenkins use environment variables in parameters in a Pipeline
- javascript - 如何防止 Angular 8 中的事件冒泡?