How do I modify a MySQL column to allow NULL without specifying its data type?

13,322

Solution 1

You're kind of on the wrong track. Changing the default to NULL does not "allow" the column to be null: what you need to do is drop the "NOT NULL" constraint on the column.

But to redefine the nullability of a column through script, you will have to continue to reference the datatype. You'll have to enter something like

 ALTER TABLE MyTable MODIFY COLUMN this_column Int NULL;

Solution 2

Not sure if this applies if you're looking for a straight DDL statement, but in MySQL Workbench you can right-click on a table name, select "Alter Table..." and it will pull up a table definition GUI. From there, you can select null/not null (among all the other options) without explicitly listing the column's datatype. Just a "for what it's worth"...

Share:
13,322
user1950349
Author by

user1950349

Updated on June 13, 2022

Comments

  • user1950349
    user1950349 almost 2 years

    I have a table in mysql and I want to alter a table to allow a column to be null.

    When I do describe on my mysql table, I see these things in mysql workbench:

    Field       Type        Null        Key     Default     Extra
    

    I want to set Null field as YES for a particular column. Here is how I am trying which works fine but do I need to provide its data type while setting DEFAULT to 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;
    

    Is there any other way by which I can just pick column name and set default to NULL instead of using its data type as well? I don't want to provide int(10) while setting its default to NULL.