我用 JS 创建了以下表格:
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('./database.sqlite');
db.serialize(function() {
db.run('CREATE TABLE IF NOT EXISTS `Artist` ( ' +
'`id` INTEGER NOT NULL, ' +
'`name` TEXT NOT NULL, ' +
'`date_of_birth` TEXT NOT NULL, ' +
'`biography` TEXT NOT NULL, ' +
'`is_currently_employed` INTEGER NOT NULL DEFAULT 1, ' +
'PRIMARY KEY(`id`) )');
db.run('CREATE TABLE IF NOT EXISTS `Series` ( ' +
'`id` INTEGER NOT NULL, ' +
'`name` TEXT NOT NULL, ' +
'`description` TEXT NOT NULL, ' +
'PRIMARY KEY(`id`) )');
db.run('CREATE TABLE IF NOT EXISTS `Issue` ( ' +
'`id` INTEGER NOT NULL, ' +
'`name` TEXT NOT NULL, ' +
'`issue_number` INTEGER NOT NULL, ' +
'`publication_date` TEXT NOT NULL, ' +
'`artist_id` INTEGER NOT NULL, ' +
'`series_id` INTEGER NOT NULL, ' +
'PRIMARY KEY(`id`), ' +
'FOREIGN KEY(`artist_id`) REFERENCES `Artist`(`id`), ' +
'FOREIGN KEY(`series_id`) REFERENCES `Series`(`id`) )');
});
Artist
并且Series
表格工作正常,我能够更新它们并将行插入其中,但我似乎无法将任何数据输入到Issues
使用“DB Browser”的单元格中。我不确定其中是否有需要修改的设置,因为我什至无法编辑单元格以将行插入其中。我收到以下错误:
添加记录时出错:FOREIGN KEY 约束失败 (INSERT INTO
Issue
(id
,name
,issue_number
,publication_date
,artist_id
,series_id
) VALUES (1,'',0,'',0,0);)
这基本上说当我尝试创建新记录时,表格单元格中没有存储任何信息。