- 此问题在此处已有答案**:
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
我的表名和列名是正确的。我已连接到数据库。
1条答案
按热度按时间kb5ga3dv1#
sqlite没有实现所有可能的alter table子命令变体。它主要限于添加、删除简单列和重命名表。向现有列添加约束或添加带约束的列是不可能的。如果您需要执行比这更复杂的操作,通常的做法是:
1.使用所需的新模式和临时名称创建新表
1.然后将数据从以前的表复制到新表
1.删除前一个表
1.然后将新表重命名为所需的名称
有关详细信息,您可能需要阅读本文档第https://www.sqlite.org/lang_altertable.html页的第7节和第8节