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
MODIFYOracle也支持@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什么?