Answers:
只需使用ALTER TABLE... MODIFY...
查询并将其添加NOT NULL
到您现有的列定义中即可。例如:
ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;
请注意:使用查询时,您需要再次指定完整的列定义MODIFY
。例如,如果您的列具有DEFAULT
值或列注释,则需要在MODIFY
语句中与数据类型和一起指定它NOT NULL
,否则它将丢失。防止此类不幸的最安全的做法是从SHOW CREATE TABLE YourTable
查询的输出中复制列定义,对其进行修改以包括NOT NULL
约束,然后将其粘贴到ALTER TABLE... MODIFY...
查询中。
change
您一起修改列的名称-Javier
MODIFY
Oracle也支持@Victor 。PostgreSQL不支持,CHANGE
而是提供了一条ALTER [COLUMN]
语句。
尝试一下,您将了解更改和修改之间的区别,
ALTER TABLE table_name CHANGE curr_column_name new_column_name new_column_datatype [constraints]
ALTER TABLE table_name MODIFY column_name new_column_datatype [constraints]
CHANGE
。MODIFY
。您不能使用此语句更改列的名称。希望我已经详细解释了。
INT(11)
而不是仅仅写INT
?的作用是11
什么?