更改表添加外键引用错误SQLite 3 [重复]

0yg35tkg  于 2023-01-13  发布在  SQLite
关注(0)|答案(1)|浏览(123)
    • 此问题在此处已有答案**:

How do I add a foreign key to an existing SQLite table?(14个答案)
7天前关闭。
我使用SQLite 3作为我的数据库管理系统。
我想在我的表中添加一个约束外键:

ALTER TABLE SocialMediaAccount
ADD CONSTRAINT FOREIGN KEY (memberFK) REFERENCES Member(id);

它给我这个错误:

[18:09:09] Error while executing SQL query on database 'company': near "CONSTRAINT": syntax error

我的表名和列名是正确的。我已连接到数据库。

kb5ga3dv

kb5ga3dv1#

sqlite没有实现所有可能的alter table子命令变体。它主要限于添加、删除简单列和重命名表。向现有列添加约束或添加带约束的列是不可能的。如果您需要执行比这更复杂的操作,通常的做法是:
1.使用所需的新模式和临时名称创建新表
1.然后将数据从以前的表复制到新表
1.删除前一个表
1.然后将新表重命名为所需的名称
有关详细信息,您可能需要阅读本文档第https://www.sqlite.org/lang_altertable.html页的第7节和第8节

相关问题