我对发票号码文本框上的必填字段进行了验证,验证对于空文本框完美工作。但是当空格被添加到文本框时,它会跳过验证。我用正则表达式来检查空格并抛出有效的验证,但我的问题是有什么办法可以在数据库字段上做到这一点。如何对字段值中的空格应用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