📅  最后修改于: 2023-12-03 15:08:55.818000             🧑  作者: Mango
在 MySQL 中,当创建表时,可以为某一列设置默认值。如果在插入新数据时没有明确的给该列赋值,MySQL 会自动使用该列的默认值。但可能有时候,我们需要删除该默认值,本文将介绍如何在 MySQL 中删除默认值。
在删除默认值之前,我们需要先确认该列是否设置了默认值。可以使用以下命令查看:
SHOW CREATE TABLE 表名;
其中表名是你要查看的表的名称。执行该命令后,会输出该表的创建语句。在语句中找到要修改的列即可。
举个例子,如果要查看一个名为 users
的表中的 age
列是否设置了默认值,可以执行以下命令:
SHOW CREATE TABLE users;
输出如下所示:
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
`age` int(11) DEFAULT '18',
`email` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
可以看到,age
列设置了默认值为 18
。
如果要删除该列的默认值,可以使用以下命令:
ALTER TABLE 表名 ALTER COLUMN 列名 DROP DEFAULT;
其中表名是你要修改的表的名称,列名是你要删除默认值的列的名称。执行该命令后,即可删除该列的默认值。
举个例子,如果要删除 users
表的 age
列的默认值,可以执行以下命令:
ALTER TABLE users ALTER COLUMN age DROP DEFAULT;
执行成功后,再次使用 SHOW CREATE TABLE
命令查看该列的信息,会发现该列的默认值已经被删除了。