2
在我在,儘管在客戶端和服務器端都嚴格驗證的應用,某種程度上這是發生記錄會從用戶註冊頁面空白。所有數據都爲空,接受我表格中的默認值(例如性別 - 男性)。這發生在約100個登記中。空白記錄問題 - Mysql的
MySQL的 - 我有一個不空的結構爲每個必填字段。它仍然插入空白。
CakePHP的一面 - 我檢查數據數組保存之前不是空白。
我會很感激,如果有人幫助我。
在此先感謝。
在我在,儘管在客戶端和服務器端都嚴格驗證的應用,某種程度上這是發生記錄會從用戶註冊頁面空白。所有數據都爲空,接受我表格中的默認值(例如性別 - 男性)。這發生在約100個登記中。空白記錄問題 - Mysql的
MySQL的 - 我有一個不空的結構爲每個必填字段。它仍然插入空白。
CakePHP的一面 - 我檢查數據數組保存之前不是空白。
我會很感激,如果有人幫助我。
在此先感謝。
它是空的,因爲在每一個數據庫(除Oracle)的一個空字符串''
不爲空。因此數據庫會接受這一點。
如果要防止這種情況發生,你需要寫一個觸發器,像這樣:
DELIMITER $$
CREATE TRIGGER bi_table1_each BEFORE INSERT ON table1 FOR EACH ROW
BEGIN
//this will cause an error and prevent the insertion of an empty gender field.
//If gender has a default value, the database will insert the default value instead.
IF new.gender = '' THEN SET new.gender = null;
END $$
DELIMITER ;
或者你可以讓性別一個枚舉場
ALTER table1
CHANGE COLUMN gender gender ENUM ('M','F');
鏈接:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
http://dev.mysql.com/doc/refman/5.5/en/triggers.html
你可以發佈你的驗證規則嗎? – dhofstet