我已經使用成功創建了表: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