尝试在数据库浏览器中插入行时获取外键约束

时间:2018-12-01 02:05:14

标签: javascript sqlite db-browser-sqlite

我已经用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`) )');
});

ArtistSeries表可以正常工作,我可以对其进行更新并向其中插入行,但是我似乎无法在{{1}的单元格中输入任何数据}使用“数据库浏览器”。我不确定其中是否需要修改某些设置,因为我什至无法编辑单元格以在其中插入行。我收到以下错误:

  

添加记录时出错:   外键约束失败(将插入值插入IssuesIssueidnameissue_numberpublication_dateartist_id) (1,'',0,'',0,0);)

基本上,当我尝试创建新记录时,表单元格中没有存储任何信息。

0 个答案:

没有答案