我有一个名为“Person”的表名,并带有以下列名称
P_Id(int), LastName(varchar), FirstName (varchar).
我忘了给NOT NULL约束P_Id。
NOT NULL
P_Id
现在我尝试使用以下查询将NOT NULL约束添加到名为的现有列P_Id,
1. ALTER TABLE Person MODIFY (P_Id NOT NULL); 2. ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id);
我收到语法错误....
只需使用ALTER TABLE... MODIFY...查询并添加NOT NULL到您现有的列定义中。例如:
ALTER TABLE... MODIFY...
ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;
提醒一句:使用查询时需要再次指定 完整 的列定义。MODIFY例如,如果您的列具有DEFAULT值或列注释,则需要在MODIFY语句中指定它以及数据类型和NOT NULL,否则它将丢失。防止此类事故的最安全做法是从SHOW CREATE TABLE YourTable查询的输出中复制列定义,对其进行修改以包含NOT NULL约束,然后将其粘贴到您的ALTER TABLE... MODIFY...查询中。
MODIFY
DEFAULT
SHOW CREATE TABLE YourTable