将列声明为“NOT NULL”意味着该列不接受 NULL 值,但接受零 (0),并且空字符串本身就是一个值。因此,如果我们想将零或空字符串插入到定义为 NOT NULL 的 MySQL 列中,就不会有问题。下面将 0 和空字符串与 NULL 进行比较就会清楚 -
mysql> Select 0 IS NULL, 0 IS NOT NULL; +-----------+---------------+ | 0 IS NULL | 0 IS NOT NULL | +-----------+---------------+ | 0 | 1 | +-----------+---------------+ 1 row in set (0.00 sec)
以上结果集显示零 (0) 不为 NULL。这意味着零 (0) 本身就是一个值,因为我们知道 NULL 意味着没有值。
mysql> Select '' IS NULL, '' IS NOT NULL; +------------+----------------+ | '' IS NULL | '' IS NOT NULL | +------------+----------------+ | 0 | 1 | +------------+----------------+ 1 row in set (0.00 sec)
上面的结果集显示空字符串(‘’)不为NULL。这意味着空字符串 ('') 本身就是一个值,因为我们知道 NULL 意味着没有值。
示例
mysql> create table test(id int NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insertinto test6(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav'); Query OK, 3 rows affected, 1 warning (0.08 sec) Records: 3 Duplicates: 0 Warnings: 1 Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 3 mysql> Select * from test; +----+--------+ | id | Name | +----+--------+ | 1 | Gaurav | | 0 | Rahul | | 0 | Aarav | +----+--------+ 3 rows in set (0.00 sec)
从上面的结果集中可以看出,我们可以将零(0)一个空字符串(“”)插入到声明为 NOT NULL 的列中。
复制本文链接文章为作者独立观点不代表优设网立场,未经允许不得转载。
文章推荐更多>
- 1redis缓存一般存些什么数据
- 2mongodb怎么打开数据库
- 3uc浏览器网页版入口官网 uc浏览器网页版官网直接进
- 4Wordpress怎么做网站引导页
- 5亚马逊国际站官网入口 亚马逊amazon国际站官网首页入口
- 6oracle存储过程日志怎么查看
- 7ao3官方网站下载入口2025 ao3官网链接入口最新版
- 8mysql %什么意思
- 9定时关机与屏幕保护程序联动:节能与硬件保护策略
- 10mysql用的什么数据结构
- 11uc浏览器怎么退出登录账号 uc账号安全退出操作指南
- 12wordpress底部版权怎么修改
- 13mysql数据库是什么类型
- 14phpmyadmin怎么设置自增
- 15命令行定时关机:CMD/PowerShell脚本编写与调试
- 16电脑定时关机搭配UPS电源:断电场景下的自动保护机制
- 17wordpress如何防止被采集
- 18wordpress怎么安装手机主题
- 19oracle数据库怎么看表
- 20wordpress主题怎么用
- 21mysql如何读取全库的表名
- 22redis的五种数据类型及使用场景有哪些
- 23phpmyadmin怎么创建表
- 24oracle数据库定时任务怎么写
- 25WindowsDefender误报处理:排除白名单与规则优化
- 26谷歌浏览器如何翻译 网页内容实时翻译功能使用
- 27oracle数据库sid怎么看
- 28oracle数据库闪回功能怎么使用
- 29mysql怎么建立表的方法
- 30WordPress怎么优化

into test6(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1
Warning (Code 1366): Incorrect integer value: '' for column 'id' at row 3
mysql> Select * from test;
+----+--------+
| id | Name |
+----+--------+
| 1 | Gaurav |
| 0 | Rahul |
| 0 | Aarav |
+----+--------+
3 rows in set (0.00 sec)