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

MySQL报错1136:插入products表时第1行列数与值数不匹配如何解决

报错原因

  • 直接原因:你编写的VALUES子句中,"Carrot & Fennel"后面缺少逗号,MySQL会把相邻的"Carrot & Fennel"和"loaf"识别为同一个字符串值,导致你声明了6个插入字段,但实际只提供了5个值,字段和值的数量不匹配触发1136报错。
  • 潜在问题:你的products表包含非空主键product_id,如果该字段没有设置AUTO_INCREMENT自增属性,就算补全逗号后插入依然会报错,因为你没有给非空主键提供值。

修复方案

情况1:product_id已设置自增属性

只需要补全VALUES里缺失的逗号即可,修正后的SQL如下:

INSERT INTO `products` (
    product_code,
    displayname,
    type,
    retail,
    wholesale,
    available
)
VALUES (
    "carrot",
    "Carrot & Fennel",
    "loaf",
    9.50,
    7.50,
    1
);

情况2:product_id未设置自增属性

两种可选处理方式:

  1. 先给product_id设置自增属性,后续插入就不用手动传主键值:
ALTER TABLE `products` MODIFY COLUMN `product_id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT;

修改完成后执行上面修正后的插入语句即可。
2. 插入时主动给product_id传合法的唯一非空值:

INSERT INTO `products` (
    product_id,
    product_code,
    displayname,
    type,
    retail,
    wholesale,
    available
)
VALUES (
    1, -- 替换为当前表中不存在的主键值即可
    "carrot",
    "Carrot & Fennel",
    "loaf",
    9.50,
    7.50,
    1
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:21:01