我是靠谱客的博主 秀丽小兔子,最近开发中收集的这篇文章主要介绍mysql alter null_mysql“默认”列值NULL在执行PRIMARY KEY的alter table时正在被擦除,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我在Mysql数据库中创建了一个新的新表。 我添加了一个新字段,名为“rks”,默认为空,数据类型为varchar(20)。mysql“默认”列值NULL在执行PRIMARY KEY的alter table时正在被擦除

如果我执行alter table,修改这个字段,我可以看到默认列中的“NULL”被删除为空(万一它是主键),但是如果万一我降级它从主键,对这个变量进行修改,保留状态“NULL”。

请注意:我使用“default null”,而使用alter table如下。

mysql> alter table FileTable modify column rks varchar(40) default NULL collate latin1_bin;

Query OK, 0 rows affected (0.01 sec)

Records: 0 Duplicates: 0 Warnings: 0

进一步观察:

如果字段是主键,和varchar类型,操作的方式改变 表中删除NULL。

如果字段类型为bigint,并且主键为 ,则在alter table之后将NULL更改为0。

我想知道,为什么会发生这种变化?

Newly created:

+-------------------------+--------------+-------------------+------+-----+---------+

| Field | Type | Collation | Null | Key | Default |

+-------------------------+--------------+-------------------+------+-----+---------+

| rks | varchar(20) | latin1_bin | YES | PRI | NULL |

+-------------------------+--------------+-------------------+------+-----+---------+

After alter table:

+-------------------------+--------------+-------------------+------+-----+---------+

| Field | Type | Collation | Null | Key | Default |

+-------------------------+--------------+-------------------+------+-----+---------+

| rks | varchar(40) | latin1_bin | NO | PRI | |

+-------------------------+--------------+-------------------+------+-----+---------+

请参阅NULL被擦除时,如果该字段是整数类型,这将更改为0

最后

以上就是秀丽小兔子为你收集整理的mysql alter null_mysql“默认”列值NULL在执行PRIMARY KEY的alter table时正在被擦除的全部内容,希望文章能够帮你解决mysql alter null_mysql“默认”列值NULL在执行PRIMARY KEY的alter table时正在被擦除所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部