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

MySQL INSERT INTO插入数据全部为0或NULL问题咨询

问题原因及解决办法

你插入的数据全是0或NULL,核心原因是用了default关键字——它会直接读取对应列的默认值,而你的表列没设置自定义默认值:

  • id_produit是自增主键,默认值是系统自动生成的自增数,所以插入后显示1,这部分是正常的
  • nom_produit是字符串类型,未设置默认值时,MySQL会默认填充NULL
  • prix是数值类型,未设置默认值时,MySQL会自动填充0(你的MySQL环境应该没开启严格模式,否则会报错)

正确插入方式

方式1:指定列插入(推荐,逻辑更清晰)

因为id_produit是自增主键,不需要手动赋值,直接插入其他列的值即可:

INSERT INTO produits (nom_produit, prix) VALUES ('笔记本电脑', 2999.99);

方式2:全列插入

如果要给所有列赋值,直接填写对应值就行,自增列传NULL会让系统自动生成自增值:

INSERT INTO produits VALUES (NULL, '无线鼠标', 59.9);

可选:设置自定义默认值

如果希望列有固定默认值,创建表时可以提前指定:

CREATE TABLE produits (
    id_produit INT AUTO_INCREMENT PRIMARY KEY,
    nom_produit VARCHAR(50) DEFAULT '未命名商品',
    prix DECIMAL(10,2) DEFAULT 0.00
);

内容的提问来源于stack exchange,提问作者LucioleMaléfique

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:35:17