如何在MySQL中向现有列添加非空约束
我有一个名为“ Person”的表名,下面是列名
P_Id(int),LastName(varchar),
FirstName (varchar).
我忘了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 Person MODIFY P_Id INT(11) NOT NULL;
请注意:使用查询时,您需要再次指定 完整的
列定义MODIFY
。例如,如果您的列具有DEFAULT
值或列注释,则需要在MODIFY
语句中与数据类型和一起指定它NOT
NULL,否则它将丢失。防止此类情况发生的最安全方法是从SHOW CREATE TABLE
YourTable查询的输出中复制列定义,对其进行修改以包括NOT NULL
约束,然后将其粘贴到ALTER TABLE...
MODIFY...查询中。
以上是 如何在MySQL中向现有列添加非空约束 的全部内容, 来源链接: utcz.com/qa/433799.html