Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 短跑时扳机_Mysql_Triggers - Fatal编程技术网

Mysql 短跑时扳机

Mysql 短跑时扳机,mysql,triggers,Mysql,Triggers,尝试创建一个触发器,该触发器将使用破折号拆分文档的文件名,然后将这两个条目插入到两个单独的字段中 例如,文件名可能是12345-67890,我需要12345进入1个字段,67890进入另一个字段-条目没有任何特定长度,所以它可能总是不同的,但我有这个想法,但它不起作用 DELIMITER // CREATE TRIGGER triggername BEFORE INSERT ON triggername.tablename FOR EACH ROW BEG

尝试创建一个触发器,该触发器将使用破折号拆分文档的文件名,然后将这两个条目插入到两个单独的字段中

例如,文件名可能是12345-67890,我需要12345进入1个字段,67890进入另一个字段-条目没有任何特定长度,所以它可能总是不同的,但我有这个想法,但它不起作用

    DELIMITER //
    CREATE TRIGGER triggername
    BEFORE INSERT ON triggername.tablename
    FOR EACH ROW
    BEGIN
    /* Move the value from one column to another */
    SET NEW.DOCID = NEW.DOCID;
    /* Check a text field with IF statement */

    SPLIT_STR(filename, '-', 1) as ponum,
    SPLIT_STR(filename, '-', 2) as invoicenum
    END IF;
    END;
    //

我推荐的一个选项是使用函数,特别是函数,这将有所帮助

下面是一个简单的使用示例,您可以根据自己的解决方案进行调整:

。。。
设置“\u文件名”:=NEW.“文件名”、“\u分隔符”:='-';
如果(`common\u schema`.`get\u num\u tokens`(`u filename`、`u delimiter`)=2,那么
设置'ponum':='common\u schema`.'split\u token`(`u filename`、`u delimiter`,1);
设置`invoicenum`:=`common\u schema`.`split\u token`(`u filename`、`u delimiter`,2);
如果结束;
...