首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 之默认值

本文标识 :MQ0020

本文编辑 :长安月下赏美人儿

编程工具 :MySQL、DBeaver

阅读时长 :6分钟

前言

关于之前的文章分享,大致同小伙伴儿们共同学习了一些基础的 MySQL 知识,但是有一些很细碎的内容并未一一指出,故在此进行补充完善。

默认值问题的由来

在一个风和日丽的早晨,小编欢快的进行习题练习,插入了一个数据库,然后报错了,#1364习惯性去网上查原因,于是发现了这个被忽略已久的问题,默认值。莫名发现,它是不声不响的大侠,如果没有处理好与它的关系,会死得很有节奏感!

MySQL 严格模式与非严格模式

小编也是瞪大了狗眼,原来还有不同的模式,也是新奇有趣。

MySQL 数据库严格模式

数据库自身对数据进行严格的校验(格式、长度、类型等),一旦出现不符合需求的数据出现,会直接报错。

MySQL 数据库非严格模式

数据库自身会容忍开发上的疏忽,譬如 varchar(50),插入了长度 1200 的字符串,就会悄咪咪的取前 50 个,后面的 1150 个会截断,且也不报错。

如何开启MySQL 的严格模式

方法一,执行 SQL 语句来开启

方法二,找到mysql安装目录下的 my.ini(windows系统)

MySQL 严格模式需要注意的小问题

不支持对 not null 字段插入 null 值

不支持对自增长字段插 '' 值

不支持 text 字段有默认值

1、not null 字段插入 null 值测试

例,插入一条 name 值为 null 的记录

在非严格模式下执行

数据结果:

在严格模式下执行

数据结果:

2、自增长字段插入 '' 值测试

例,对 id 字段插入”值

在非严格模式下执行

在严格模式下执行

数据结果:

3、text 字段默认值测试

例,创建数据表,设置 text 为默认值 default=''

在非严格模式下执行

在严格模式下执行

数据结果:

如何设置默认值

数据表中单个字段

同一个数据表中多个字段

如何删除默认值

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191122A06A2400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券