在 SQLite 中,如何更改表以添加具有默认空值和外键约束的列?

布鲁斯·哈罗德

SQLite 文档说:

除非新列的默认值为 NULL,否则无法使用“ALTER TABLE ... ADD COLUMN”语法添加包含 REFERENCES 子句的列。

我无法让我的ALTER TABLE语句起作用,它看起来像这样:

ALTER TABLE Customers ADD COLUMN AddressID INTEGER DEFAULT NULL FOREIGN KEY REFERENCES MasterAddress (AddressID);

我可以看到对临时创建约束CREATE TABLE并通过新表弹回数据的变通方法的引用,但我更喜欢更改现有表。这可能吗?

我已经设置了PRAGMA foreign_keys = ON

CL。

DEFAULT NULL是默认值;您不需要指定它。

FOREIGN KEY用于引入表约束,但 ALTER TABLE 仅支持列约束。列约束的语法没有FOREIGN KEY

ALTER TABLE Customers ADD AddressID INTEGER REFERENCES MasterAddress(AddressID);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章