簡體   English   中英

必填字段mysql

[英]Mandatory field mysql

如何確保該字段是必填字段? 這就是我的意思

我具有以下mysql表結構:

CREATE TABLE `new` (
  `id` int(11) DEFAULT NULL,
  `name` int(11) DEFAULT NULL,
  `phone` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

這是沒有數據查詢的電話

insert into new values(1, 'm', '');

但是查詢運行良好。 如果沒有電話字段的數據,應該怎么做才能使mysql返回錯誤? 我可以通過php進行驗證,但我很好奇如何在mysql中進行驗證。

INSERT INTO new VALUES(1,'m',NULL)

會導致錯誤。
如果要檢查電話號碼字段是否為空字符串,
您可以在MySQL中使用觸發器。

我還沒有測試過,但是我覺得'' != null 如果您跑步會怎樣?

insert into new(id, name) values (1, 'test');

我敢打賭你會收到一個插入錯誤...

無論如何,我認為在PHP中進行驗證可能比等到進入數據庫之前更好。

可能將'phone'列的默認值設置為NULL會使插入失敗,因為如果不指定它,最終將為null。

否則,您將需要省略phone列以使用默認值,例如在php中,您將使用empty($ phone)? null:$ phone; 或類似的規定。

”,因為第三個選項不會使phone的值為null。它等於一個空白字符串,即all。 如果您想看到錯誤,請將''替換為NULL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM