我正在使用
DBeaver 23.1.2
。
以下 SQL 脚本失败并出现以下 SQL 错误:
SQL Error [1]: [SQLITE_ERROR] SQL error or missing database (near "type_id": syntax error)
有没有办法在DBeaver中逐行调试以下SQL脚本来看看
CREATE TABLE IF NOT EXISTS my_types (
type_id INTEGER PRIMARY KEY AUTOINCREMENT,
type_name TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS objects (
id INTEGER PRIMARY KEY,
FOREIGN KEY type_id REFERENCES my_types(type_id),
content TEXT NOT NULL
);
我创建了没有外键的表,然后我通过 DBeaver GUI 手动创建了外键,这就是现在的样子:
CREATE TABLE IF NOT EXISTS my_types (
type_id INTEGER PRIMARY KEY AUTOINCREMENT,
type_name TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS objects (
id INTEGER PRIMARY KEY,
type_id INTEGER,
content TEXT NOT NULL,
CONSTRAINT objects_FK FOREIGN KEY (type_id) REFERENCES my_types(type_id) ON UPDATE CASCADE
);
看来
CONSTRAINT
行必须位于末尾(或者我猜至少在创建“本地”type_id
字段之后,我认为该字段将成为外键的存储)。