為現有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中文網其他相關文章!