为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在 sql.js 中出现“NOT NULL 约束失败”错误?

为什么在 sql.js 中出现“NOT NULL 约束失败”错误?

白衣非少年 2023-07-14 15:40:15
sql.js 我正在尝试使用https://github.com/sql-js/sql.js在 html 网页中创建一个包含以下列的表。<script src="sql.js"></script><script>     var data;     config = {          locateFile: filename => `sql.js`     }</script><script>initSqlJs(config).then(function (SQL) {    var db = new SQL.Database();    db.run(`CREATE TABLE notes (        id              integer primary key,   /* 0 */        guid            text not null,         /* 1 */        mid             integer not null,      /* 2 */        mod             integer not null,      /* 3 */        usn             integer not null,      /* 4 */        tags            text not null,         /* 5 */        flds            text not null,         /* 6 */        sfld            integer not null,      /* 7 */        csum            integer not null,      /* 8 */        flags           integer not null,      /* 9 */        data            text not null          /* 10 */    );`)    db.run( `INSERT INTO notes (id, guid, mid, mod, usn, tags, flds, sfld, csum, flags, data)    VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0, 0, '')`, 123,"abcdef", 12345, 56789, -1, "tags", "hi", 0);});</script>但出现以下错误sql.js:89 Uncaught Error: NOT NULL constraint failed: notes.guid    at c.handleError (sql.js:89)    at a.step (sql.js:80)    at c.run (sql.js:86)    at <anonymous>:1:5可以采取什么措施来消除错误?谢谢
查看完整描述

1 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

可能是因为您提供的值run应该位于单个数组中,而不是作为多个参数传递。


<script src="sql.js"></script>

<script>

     var data;

     config = {

          locateFile: filename => `sql.js`

     }

</script>

<script>

initSqlJs(config).then(function (SQL) {

    var db = new SQL.Database();

    db.run(`CREATE TABLE notes (

        id              integer primary key,   /* 0 */

        guid            text not null,         /* 1 */

        mid             integer not null,      /* 2 */

        mod             integer not null,      /* 3 */

        usn             integer not null,      /* 4 */

        tags            text not null,         /* 5 */

        flds            text not null,         /* 6 */

        sfld            integer not null,      /* 7 */

        csum            integer not null,      /* 8 */

        flags           integer not null,      /* 9 */

        data            text not null          /* 10 */

    );`)


    db.run(

        `INSERT INTO notes (id, guid, mid, mod, usn, tags, flds, sfld, csum, flags, data)

    VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0, 0, '')`, 

        [123,"abcdef", 12345, 56789, -1, "tags", "hi", 0]

    );

});

</script>


查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信