透過約束防止在MySQL 中插入空字串
在前面的討論中,提出了一種防止在MySQL 中插入NULL值的方法。然而,儘管存在限制,但由於疏忽,仍允許插入空字串。本文探討了使用資料庫限制來解決此問題的方法,確保資料庫和應用程式端的資料完整性。
考慮以下表定義:
儘管強制執行此定義, foo_test 列上的NOT NULL 限制仍然允許插入空字串:
為了防止這種情況,可以使用CHECK 約束。但要注意的是,在 MySQL 8.0 版本之前,不支援這種類型的限制。如 MySQL 參考手冊中所述:
對於較舊的 MySQL 版本,解決方法是按照建議使用觸發器。然而,對於未來的發展,考慮對資料完整性具有增強支援的資料庫可能是有利的,例如 PostgreSQL。
以上是如何防止 MySQL 表中插入空字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!