如何在不指定数据类型的情况下修改MySQL列以允许NULL?

use*_*349 3 mysql sql syntax mysql-workbench

我在mysql中有一个表,我想改变一个表以允许列为null.

当我在mysql表上描述时,我在mysql工作台中看到了这些东西:

Field       Type        Null        Key     Default     Extra
Run Code Online (Sandbox Code Playgroud)

我想为特定列设置Null字段YES.这是我正在尝试哪些工作正常,但我需要提供其数据类型,同时将DEFAULT设置为NULL?

ALTER TABLE abc.xyz CHANGE hello hello int(10) unsigned DEFAULT NULL;
ALTER TABLE abc.xyz CHANGE world world int(10) unsigned DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以选择列名称并将默认设置为NULL而不是使用其数据类型?我不想int(10)在将其默认值设置为NULL时提供.

Cur*_*urt 5

你走错了路.将缺省值更改为NULL不会"允许"该列为空:您需要做的是删除列上的"NOT NULL"约束.

但是要通过脚本重新定义列的可为空性,您将不得不继续引用数据类型.你必须输入类似的东西

 ALTER TABLE MyTable MODIFY COLUMN this_column Int NULL;
Run Code Online (Sandbox Code Playgroud)