MySQL设置数据格为空白或NULL问题及解决

 更新时间:2026年04月15日 15:43:38   作者:白瑕  
文章主要讨论了在处理数据库需求时将某些字段设置为空白的问题,初尝试直接传递空字符串,PHPMyAdmin提示需要三个值,实际是因第三列数据不足导致.后文提出可通过设置字段默认值为NULL或直接写入空字符串来解决;并指出NULL与空字符串的区别

前言

昨天打算建个数据库来做个项目, 有个需求是把数据库中的一些格子设置为空白,但是不知道怎么做,感觉直接传个空字符串进去也不能算是"空白;"

我先尝试了不传值(现在来看是真的有点蠢) ,然后PHPMyAdmin提示"这行要有仨值,你就给了俩"

甚麽意思呢, 比如第一列和第二列我都给了5个数据,那么现在这俩都是5行,但是第三列我只给了俩数据,这样3 4 5行都缺了一块,就会出现这个错误;

1. 设置为空白

如果需要某个格子为空白, 可以为其所在的字段设置默认值, 但是不能不传值,那会报错;

然后需要设为空白的位置写入值DEFAULT即可;

或者更直接一点直接往格子里给个空字符串…

但注意是空字符串,不要在引号中间再敲一个空格.

是的,一开始我也觉得 传进去一个空字符串这个格子也不能算真的"空了",但确实是应该这么做:

公式:

 [字段名] [字段类型]  DEFAULT '',

例:

INSERT INTO test1(id, name, password) VALUES(1, "张五", "王五"), (2, "张三", DEFAULT), (3, "王二麻子", DEFAULT), (4, "李四", DEFAULT), (4, DEFAULT, DEFAULT)
//name的默认值是NULL,所以这里的两个DEFAULT会显示不同的结果;

2. 设置为NULL

设置为NULL就和直接传个空白字符串不一样了,格子里会实实在在的存在一些东西,在MySQL中是会占用空间的。

这种方法是设置默认值为NULL,举个例子你要是只给1,2列传了数据,第三列没管,那第三列此时就全是NULL。

公式:

ALTER TABLE [数据表名称] MODIFY [字段名] [字段类型] DEFAULT NULL;

例:

ALTER TABLE index_nav MODIFY imgs VARCHAR(255) DEFAULT NULL;
//直接什么都不给imgs吧
INSERT INTO index_nav (url, texts)
VALUES ("./blogs.php","博客"),

 ("./columns","专栏"),

 ("./download.php","下载"),

 ("./qa.php","问答"),

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql索引使用率监控技巧(值得收藏!)

    mysql索引使用率监控技巧(值得收藏!)

    这篇文章主要给大家介绍了关于mysql索引使用率监控技巧的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 创建mysql表分区的方法

    创建mysql表分区的方法

    我来给大家介绍一下mysql表分区创建与使用吧,希望对各位同学会有所帮助。表分区的测试使用,主要内容来自于其他博客文章以及mysql5.1的参考手册。
    2013-10-10
  • MySQL索引失效场景及解决方案

    MySQL索引失效场景及解决方案

    这篇文章主要介绍了MySQL索引失效场景及解决方案,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • MySql8.4单节点安装和集群安装的实现

    MySql8.4单节点安装和集群安装的实现

    本文主要介绍了MySql8.4单节点安装和集群安装的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03
  • Access数据库的存储上限

    Access数据库的存储上限

    Access数据库的存储上限...
    2006-09-09
  • MySQL数据库InnoDB引擎下服务器断电数据恢复方法

    MySQL数据库InnoDB引擎下服务器断电数据恢复方法

    这篇文章主要介绍了MySQL数据库InnoDB引擎下服务器断电数据恢复方法,需要的朋友可以参考下
    2016-04-04
  • MySQL分区表管理命令汇总

    MySQL分区表管理命令汇总

    这篇文章主要分享了MySQL分区表管理命令汇总,分区是一种表的设计模式,正确的分区可以极大地提升数据库的查询效率,完成更高质量的SQL编程。但是如果错误地使用分区,那么分区可能带来毁灭性的的结果,下面我们就来看看分区表那些常用的管理命令,需要的朋友可以参考下
    2022-03-03
  • mysql Buffer Pool的存储结构和内存淘汰机制详解

    mysql Buffer Pool的存储结构和内存淘汰机制详解

    这篇文章主要介绍了mysql Buffer Pool的存储结构和内存淘汰机制详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • MySQL8.0离线迁移表空间的全攻略分享

    MySQL8.0离线迁移表空间的全攻略分享

    很多同学不知道如何在 MySQL 服务器离线(关闭)状态下安全地移动 InnoDB 表空间文件(如 .ibd、ibdata1、undo 文件等)到新位置,所以本文我们来一步步拆解、解释和理解这个功能的核心思想与操作流程,需要的朋友可以参考下
    2025-09-09
  • MySQL深度分页问题的三种解决方法

    MySQL深度分页问题的三种解决方法

    在 MySQL 中解决深度分页问题的核心思路是减少扫描的数据量,尤其是避免通过 LIMIT offset, size 导致的大范围数据扫描,以下是三种优化方法及其原理、适用场景和注意事项,需要的朋友可以参考下
    2025-02-02

最新评论