Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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 - Fatal编程技术网

Mysql 如何使用触发器计算?

Mysql 如何使用触发器计算?,mysql,Mysql,我试过这个代码 错误: #1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第6行的“”附近使用的正确语法。它工作正常。触发器或表中没有错误。数据将以和平方式插入可能是您在尝试时在中间留出了一些额外的空格…请检查一下 除此之外,没有错误,这是好的。。。!(我在我的机器上试过,效果很好!) 做一件事,把它整齐地放在记事本上,去掉所有多余的空格或字符(如果有的话),然后粘贴到终端上,就可以了 工作正常..触发器或表中没有错误。数据将以和平方式插入可能是您在尝试时在中间留

我试过这个代码

错误:


#1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解第6行的“”附近使用的正确语法。它工作正常。触发器或表中没有错误。数据将以和平方式插入可能是您在尝试时在中间留出了一些额外的空格…请检查一下

除此之外,没有错误,这是好的。。。!(我在我的机器上试过,效果很好!)


做一件事,把它整齐地放在记事本上,去掉所有多余的空格或字符(如果有的话),然后粘贴到终端上,就可以了

工作正常..触发器或表中没有错误。数据将以和平方式插入可能是您在尝试时在中间留出了一些额外的空格…请检查一下

除此之外,没有错误,这是好的。。。!(我在我的机器上试过,效果很好!)

做一件事,把它整齐地放在记事本上,去掉所有多余的空格或字符(如果有的话),然后粘贴到终端上,就可以了

试试这个:

CREATE TABLE table_test_trigger (
  id INT(11) NOT NULL AUTO_INCREMENT,
  a INT(11) DEFAULT NULL,
  b INT(11) DEFAULT NULL,
  c INT(11) DEFAULT NULL,
  PRIMARY KEY (id)
);

DELIMITER $$

CREATE TRIGGER trigger1
    BEFORE INSERT
    ON table_test_trigger
    FOR EACH ROW
BEGIN
  SET NEW.c = NEW.a + NEW.b;
END
$$
试试这个:

CREATE TABLE table_test_trigger (
  id INT(11) NOT NULL AUTO_INCREMENT,
  a INT(11) DEFAULT NULL,
  b INT(11) DEFAULT NULL,
  c INT(11) DEFAULT NULL,
  PRIMARY KEY (id)
);

DELIMITER $$

CREATE TRIGGER trigger1
    BEFORE INSERT
    ON table_test_trigger
    FOR EACH ROW
BEGIN
  SET NEW.c = NEW.a + NEW.b;
END
$$

脚本是正确的。您的MySQL客户端可能不支持分隔符。触发器只有一条语句,所以可以省略BEGIN-END子句和DELIMITER命令

DELIMITER $$

CREATE
    /*!50017 DEFINER = 'root'@'%' */
    TRIGGER `trigger1` BEFORE INSERT ON `table_test_trigger` 
    FOR EACH ROW BEGIN
        SET NEW.c = NEW.a + NEW.b;
    END;
$$

DELIMITER ;

脚本是正确的。您的MySQL客户端可能不支持分隔符。触发器只有一条语句,所以可以省略BEGIN-END子句和DELIMITER命令

DELIMITER $$

CREATE
    /*!50017 DEFINER = 'root'@'%' */
    TRIGGER `trigger1` BEFORE INSERT ON `table_test_trigger` 
    FOR EACH ROW BEGIN
        SET NEW.c = NEW.a + NEW.b;
    END;
$$

DELIMITER ;