【发布时间】:2018-03-06 14:12:40
【问题描述】:
我一直在尝试在 Android 上一个接一个地执行几个 SQLite 查询,但我得到一个奇怪的错误。在将它粘贴到 SQL 验证器后,我设法做出了假设损坏的查询,但是我成功执行的查询之一非常相似。所以这里是我执行它们的顺序查询:
1.
CREATE TABLE companyD (companyD_ID INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT)
2.
CREATE TABLE personD (personD_ID INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER,
companyD_Key INTEGER,
FOREIGN KEY(companyD_Key) REFERENCES companyD(companyD_ID))
3.
CREATE TABLE vehicleD (vehicleD_ID INTEGER PRIMARY KEY AUTOINCREMENT,
make TEXT,
model TEXT,
personD_Key INTEGER,
FOREIGN KEY(personD_Key) REFERENCES personD(personD_ID))
4.
CREATE TABLE addressD (addressD_ID INTEGER PRIMARY KEY AUTOINCREMENT,
buildingName TEXT,
address_1 TEXT,
address_2 TEXT,
address_3 TEXT,
postcode TEXT,
county TEXT,
country TEXT,
companyD_Key INTEGER,
FOREIGN KEY(companyD_Key) REFERENCES companyD(companyD_ID),
personD_Key INTEGER, FOREIGN KEY(personD_Key) REFERENCES personD(personD_ID))
以下是错误信息:
android.database.sqlite.SQLiteException: near "personD_Key": syntax error (code 1): , while compiling: CREATE TABLE addressD (addressD_ID INTEGER PRIMARY KEY AUTOINCREMENT, buildingName TEXT, address_1 TEXT, address_2 TEXT, address_3 TEXT, postcode TEXT, county TEXT, country TEXT, companyD_Key INTEGER, FOREIGN KEY(companyD_Key) REFERENCES companyD(companyD_ID), personD_Key INTEGER, FOREIGN KEY(personD_Key) REFERENCES personD(personD_ID))
我无法理解我的第四个查询出了什么问题,因此我们将不胜感激, 谢谢, :))
【问题讨论】:
-
所以将它们包装在 begin...end 中为每个表创建脚本 :)
标签: android sql database sqlite android-sqlite