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
。
DEFAULT NULL
是默认值;您不需要指定它。
FOREIGN KEY
用于引入表约束,但 ALTER TABLE 仅支持列约束。列约束的语法没有FOREIGN KEY
:
ALTER TABLE Customers ADD AddressID INTEGER REFERENCES MasterAddress(AddressID);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句