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 约束之前。
我需要一些帮助。这个错误花了我比需要更多的时间...
我有这个查询:
“创建 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 约束之前。