You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL导入报错:sqlite3.OperationalError: 1 values for 2 columns 求助

解决SQLite导入时的1 values for 2 columns错误

错误原因分析

你的crea_posts.sql文件里有两处INSERT语句不符合表结构要求:

  • 第二个INSERT语句:仅提供了titolo列的值,未给info列赋值,导致值的数量(1个)与目标列数量(2个)不匹配。
  • 第三个INSERT语句:两个值之间缺少逗号分隔,SQL会将两个字符串拼接为一个,最终仅识别到1个值,与2列的要求冲突。

修正后的SQL代码

DROP TABLE IF EXISTS posts;

CREATE TABLE posts (
    titolo TEXT,
    info TEXT
);

INSERT INTO posts (titolo, info) VALUES (
    'Lava la macchina',
    'Lava accuratamente la carrozzeria e gli interni'
);
-- 补充info列的值(可设为NULL或空字符串)
INSERT INTO posts (titolo, info) VALUES (
    'Lava il frigo',
    NULL
);
-- 为两个值添加逗号分隔
INSERT INTO posts (titolo, info) VALUES (
    'Porta la macchina dal meccanico',
    'Guasto al motore'
);

验证方式

重新运行你的Python脚本即可完成导入:

import sqlite3
connection = sqlite3.connect('database.db')
with open('crea_posts.sql') as f:
    connection.executescript(f.read())
connection.commit()
connection.close()

额外说明:如果info列允许空值,也可以仅指定titolo列插入,SQL会自动给info列赋默认值(通常为NULL),示例如下:

INSERT INTO posts (titolo) VALUES ('Lava il frigo');

内容的提问来源于stack exchange,提问作者Antonio Trirocco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 11:59:58