为现有 MySQL 列设置 NOT NULL 约束
向现有列添加 NOT NULL 约束可能是确保数据完整性时的常见要求。让我们探讨一下解决此问题所涉及的步骤。
考虑具有以下列的“Person”表的情况:
<code class="sql">P_Id (int) LastName (varchar) FirstName (varchar)</code>
但是,P_Id 列缺少 NOT NULL 约束。尝试使用如下查询添加约束会导致语法错误:
<code class="sql">ALTER TABLE Person MODIFY (P_Id NOT NULL); ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id);</code>
要有效添加 NOT NULL 约束,请使用包含完整列的 ALTER TABLE...MODIFY... 查询定义。示例查询为:
<code class="sql">ALTER TABLE Person MODIFY P_Id INT(11) NOT NULL;</code>
注意: 确保在 MODIFY 查询中指定整个列定义,包括任何默认值或列注释。省略这些元素将导致它们从列中删除。
为了最大程度的安全,请使用 SHOW CREATE TABLE YourTable 查询提取列定义。修改定义以合并 NOT NULL 约束,然后将其粘贴到 ALTER TABLE...MODIFY... 查询中。这种方法最大限度地降低了丢失重要列属性的风险。
以上是如何向现有 MySQL 列添加 NOT NULL 约束?的详细内容。更多信息请关注PHP中文网其他相关文章!