我已经使用成功创建了表:SQL:ALTER TABLE添加不起作用
CREATE TABLE "countermeasure"
(
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"name" VARCHAR,
"description" TEXT check(typeof("description") = 'text'),
"probability" DOUBLE,
"cost" DOUBLE
)
,现在我需要使用外键添加到它:
ALTER TABLE "countermeasure"
(ADD "attack_id" INTEGER,
FOREIGN KEY ("attack_id") REFERENCES attack(id)
)
,但它与抱怨错误:
SQLiteManager: Likely SQL syntax error: ALTER TABLE "countermeasure" (
ADD "attack_id" INTEGER ,
FOREIGN KEY ("attack_id") REFERENCES attack(id) ) [ near "(": syntax error ]
Exception Name: NS_ERROR_FAILURE
我相信我已经创建了attack
表。
有您尝试删除所有双引号?或者为外键添加约束名称? – Anand
不,但是他们做了什么样的问题? – user5363938
你的SQL不一致,你使用双引号,除了'''REFERENCES攻击(id)'''这么一个建议。 – Anand