使用Node

时间:2019-06-06 23:25:56

标签: node.js sqlite npm graphql

我正在node / graphql应用程序中使用软件包sqlite3。我创建了一些表,其中一个表包含外键:

CREATE TABLE IF NOT EXISTS 'StudentTakesCourse' ( 
    'studentId' INTEGER, 
    'courseId' INTEGER, 
    PRIMARY KEY ('studentId', 'courseId'),
    FOREIGN KEY ('courseId') REFERENCES 'Courses' ('courseId') ON DELETE CASCADE, 
    FOREIGN KEY ('studentId') REFERENCES 'Students' ('studentId') ON DELETE CASCADE 
);

当我使用“用于SQLite的数据库浏览器”与已创建的数据库进行交互时,当我试图通过在此联接表中放置错误的studentId或courseId来违反参照完整性时,收到一条错误消息。但是,当我运行以下代码以在联接表中执行插入操作时:

async function addStudentToCourse(parent, args, context, info) {
    try {
        await context.db.addStudentToCourse(args.studentId, args.courseId);    
    } catch(err) {
        throw err;
    }

    return null;
}

具有错误的值,不会引发异常,并且错误的值将存储在数据库中。违反参照完整性时,如何确保引发异常?我使用直> npm add sqlite3

安装了该软件包

0 个答案:

没有答案