Получение ограничения внешнего ключа при попытке вставить строку в браузер БД - PullRequest
0 голосов
/ 01 декабря 2018

Я создал следующие таблицы с помощью 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 в ячейки вводятся какие-либо данные с помощью «Браузер БД».Я не уверен, есть ли в нем какие-то настройки, которые мне нужно изменить, потому что я даже не могу редактировать ячейки, чтобы вставить в них строки.Я получаю следующую ошибку:

Ошибка добавления записи: сбой ограничения FOREIGN KEY (INSERT INTO Issue (id, name, issue_number, publication_date, artist_id,series_id) VALUES (1, '', 0, '', 0,0);)

Что говорит о том, что в ячейках таблицы не было информации, когда я пытался создать новыйзапись.

...