有个表名为 user  中有个字段为 name
现在我要判断  新增时 如果name 中无中文字符 则新增不成功 并且客户端提示消息 必须含有中文
char_length(new.name) = length(new.name)??
求完整语句

解决方案 »

  1.   

    mysql> set names 'gbk';
    Query OK, 0 rows affectedmysql> select length('sdf是否sf');
    +---------------------+
    | length('sdf是否sf') |
    +---------------------+
    |                   9 |
    +---------------------+
    1 row in setmysql> select char_length('sdf是否sf');
    +--------------------------+
    | char_length('sdf是否sf') |
    +--------------------------+
    |                        7 |
    +--------------------------+
    1 row in set
      

  2.   

    并且客户端提示消息 必须含有中文TRIGGER中无法实现这种功能。
      

  3.   

    DELIMITER $$
    假设ID唯一,且已经有=1的记录,姓名为你要插入的字段
    CREATE TRIGGER `AA1` BEFORE INSERT ON `AA1`
        FOR EACH ROW BEGIN
    IF NEW.姓名 REGEXP '[^ -~]'<>1 THEN
    SET NEW.ID=1;
    END IF;    END$$DELIMITER ;