可以向mysql数据库中插入空值吗

可以向mysql数据库中插入空值吗,第1张

可以的,有显式和隐式两种插入空值方式(前提是该字段未设置默认值且允许为空)。

例如 t1(id auto_increment primary key,sname varchar(10) not null, address varchar(100))

-- 显式方式向地址字段插入空值

insert into t1 (sname,address) valuse('John',null)

-- 隐式方式向地址字段插入空值

insert into t1 (sname) valuse('John')

简单记录,可能有误,主要记录重要的接口以备后用。

我建了一个简单的表,插入一个简单的数据。

主要跟踪这个简单的插入语句在插入过程的经历。主要集中在插入流程和提交流程,不包含前期的其他阶段。

下面是这个语句经历的所有的阶段:

主要集中在:

两个阶段

对于 begindelete from t1 where id=2;insert into t1 values(2) 的会调用row_ins_clust_index_entry_by_modify函数直接去掉del flag,避免额外开销(t1(id int primary key))

可以看到整个语句的流程大概为

这只是大概流程其中很多很多的细节,不过有了入口函数也许好分析一些。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8593734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存