我對發票號碼文本框上的必填字段進行了驗證,驗證對於空文本框完美工作。但是當空格被添加到文本框時,它會跳過驗證。我用正則表達式來檢查空格並拋出有效的驗證,但我的問題是有什麼辦法可以在數據庫字段上做到這一點。如何對字段值中的空格應用MYSQL限制?
回答
您可以簡單地這樣刪除:
INSERT INTO `table` (`col_name`) VALUES (REPLACE('a string you are inserting' , ' ' , ''));
如果包含字段值空間,則必須限制記錄以進行保存。目前我使用正則表達式來檢查字段值中的空格,但仍然想知道是否有通過MySql設置限制 – Abhilasha 2013-05-09 06:51:54
我添加了另一個答案。 – ljubiccica 2013-05-09 07:40:04
我想我找到了一個方法 - 這是一個骯髒的黑客,我不建議使用它,除非沒有其他辦法做到這一點。基本上你創建了一個觸發器 - 我想編寫代碼來拋出一個錯誤,但似乎你不能直接在mysql上這樣做,所以代碼試圖從一個不存在的表中刪除。
delimiter $$
CREATE TRIGGER check_mycolumn_before_insert
BEFORE INSERT ON `my_table`
FOR EACH ROW
BEGIN
IF (NEW.mycolumn like '% %') THEN
DELETE FROM your_meaningfull_message WHERE id=-1;
END IF;
END$$
我測試過是否插入: INSERT INTO my_table'('mycolumn')VALUES('bl abl abl'); 我得到一個錯誤: 錯誤代碼:1146.表'test_db.your_meaningfull_message'不存在 – ljubiccica 2013-05-09 07:45:24
謝謝@ljubiccia。我很高興與空白空間的JavaScript驗證。 – Abhilasha 2013-05-09 08:55:44
不客氣。我認爲這是一種更好的方式! =) 僅供參考 - 在其他數據庫中存在一個CHECK約束,可用於此操作,但在MySQL中,CHECK子句已解析但被所有存儲引擎忽略(dev.mysql.com/doc/refman/5.1/ EN /創建-table.html)。 – ljubiccica 2013-05-09 13:48:25
- 1. 在MySQL中限制字段值?
- 2. 如何限制僅使用空格創建文本字段?
- 3. 如何在文本字段中應用對文本值的限制?
- 4. mysql的字段值,根據其他字段的限制
- 5. TFS:如何限制字段整數值
- 6. 如何限制一個字段值
- 7. MySQL - 強制新記錄字段值的限制大於以前的記錄字段值字段值
- 8. 如何限制SQLite/MySQL中的列值
- 9. MySQL的:如果字段爲空賦值
- 10. 如何在MySQL CHAR字段中存儲空格字符?
- 11. 無法對類型=數字的輸入字段應用限制
- 12. Spinner字段中的限制值
- 13. 如何在MySQL中的datetime字段中存儲空值?
- 14. Mysql查詢最大值對應字段
- 15. Mysql:在具有空格分隔值的字段中搜索
- 16. 如何應用mysql 200連接限制?
- 17. 如何訪問表單字段中的限制值(min_value,max_value)?
- 18. 如何限制SQL中每個字段值的行數?
- 19. PHP MySQL - 帶空格的搜索字段
- 20. Mysql限制某個字段的值爲定義的字段之一
- 21. 對RTF字段的模式源應用限制
- 22. 我如何限制取自mysql的值?
- 23. 類中的字段限制
- 24. MySQL字段不能爲空錯誤,雖然字段應該允許值爲空
- 25. MySQL的選擇與限制由字段值
- 26. MySQL:如何將結果限制爲另一個字段的最大值?
- 27. 如何使用MySQL查詢檢查空值字段?
- 28. 字段值之前的mySQL空間
- 29. 根據字段限制MySQL結果
- 30. 數據庫限制的字段值
這是一個MYSQL問題?目前用於驗證的代碼是什麼? – Patashu 2013-05-09 06:42:19
這不是Mysql問題。我想知道是否有任何方法可以通過Mysql設置限制 – Abhilasha 2013-05-09 06:53:46