更改现有表中的列定义

时间:2016-12-19 09:28:15

标签: mysql sql ddl alter

我需要从我的列标签编辑数据类型(IS_NULLABLE)。 什么都行不通,我试过这样:

ALTER TABLE veille ALTER COLUMN tag Modify datatype false

或者那样:

 Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IS_NULLABLE false' at line 3. 

但也没有用,我有这个错误:

var test = "<span data-toggle='tooltip' title='2Test'>1TEST</span>";
var result = test.match(/title='([^']+)'/)[1];

console.log(result); //2Test

编辑:已解决,问题是我的列有空值,我已经更改了这些空值,一切正常。

3 个答案:

答案 0 :(得分:0)

尝试ALTER TABLE veille_ndd_hist MODIFY tag bit(1) NOT NULL DEFAULT b'0;

您也可以尝试ALTER TABLE veille_ndd_hist CHANGE COLUMN tag tag BIT NOT NULL

请注意,使用MODIFY时,需要指定完整列定义,包括定义的DEFAULT值。

旁注:当然要确保该列没有任何空值

答案 1 :(得分:0)

使用

ALTER TABLE veille ALTER COLUMN tag datatype
默认情况下,

列是可空的,只要该列未声明为UNIQUE或NOT NULL,就不会有任何问题。

参考这个问题:How do I modify a MySQL column to allow NULL?

答案 2 :(得分:0)

无需datatype false 只需使用下面的查询

alter table table_name modify column tag <datatype> not null;