sqlite 在DBeaver中逐行删除SQL脚本中的SQL错误

9bfwbjaz  于 8个月前  发布在  SQLite
关注(0)|答案(1)|浏览(117)

我使用的是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
);
nle07wnf

nle07wnf1#

我创建了一个没有FOREIGN KEY的表,然后通过DBeaver GUI手动创建了FOREIGN KEY,这就是它现在的样子:

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字段创建后,我认为它将成为FOREIGN KEY的存储)。

相关问题