2014-01-05 46 views
3

时如何验证一个字符串我有一个数据叫注册号就像如下用mysql插入数据

COL/A-000001, 
KAL/B-000023, 
BAL/A-000452, 

我知道如何使用php.But验证这种类型的格式我想这样做,当我创建table.IS有可能吗?分别

变化(example_tbl/FIELD_NAME)到你的(表/场)名称:

+0

你是什么意思“当我创建表”? –

+0

我们假设这个列类型是'VARCHAR(12)',我想用'4字符串'来验证它,'用'6个整数'来表示'2个符号' – underscore

+0

@BartFriederichs所以当创建表时, – underscore

回答

3

试试这个。

DELIMITER $$ 

CREATE TRIGGER example_before_insert 
    BEFORE INSERT ON example_tbl FOR EACH ROW 
    BEGIN 
      IF NEW.field_name NOT_REGEXP '^[A-Z]{3}\/[A-Z]-\d{6}$' THEN 
       SIGNAL SQLSTATE '45000' 
        SET MESSAGE_TEXT = 'Cannot add or update row: regex failed'; 
      END IF; 
    END; 
$$ 
+0

感谢它工作:) – underscore

+0

请注意,您可能需要另一个触发器更新.. –