SQLITE 创建 table 语法错误(代码 1 SQLITE_ERROR[1])

SQLITE create table syntax error (code 1 SQLITE_ERROR[1])

我需要一些帮助。这个错误花了我比需要更多的时间...

我有这个查询:

“创建 TABLE 如果不存在 staff_ratio (id INTEGER PRIMARY KEY AUTOINCREMENT, type INTEGER CHECK ( type IN (0, 1) ) NOT NULL DEFAULT 0, shift INTEGER CHECK ( shift IN (0, 2, 1)) NOT NULL DEFAULT 0, personal_count INTEGER,clients INTEGER,ratio REAL,date INTEGER NOT NULL,restaurant_id INTEGER NOT NULL,FOREIGN KEY(restaurant_id) REFERENCES restaurants(id) ON DELETE CASCADE, hotel_staff_ratio_id INTEGER NOT NULL, FOREIGN KEY(hotel_staff_ratio_id) REFERENCES hotel_staff_ratio(id) ON DELETE CASCADE)".

错误:“android.database.sqlite.SQLiteException:靠近“hotel_staff_ratio_id”:语法错误(代码 1 SQLITE_ERROR[1])”

您混淆了列规范和 table 约束。

hotel_staff_ratio_id INTEGER NOT NULL 等列规范排在最前面,table 约束(例如 FOREIGN KEY(restaurant_id) REFERENCES restaurants(id) ON DELETE CASCADE 排在最后。

hotel_staff_ratio_id INTEGER NOT NULL 移到第一个 FOREIGN KEY table 约束之前。