我使用的是 DBeaver 23.1.2。以下 SQL 脚本失败并出现以下 SQL 错误:
SQL 错误 [1]:[SQLITE_ERROR] SQL 错误或丢失数据库(“type_id”附近:语法错误)
有没有办法在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
字段之后,我认为该字段将成为外键的存储)。