Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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,在创建触发器后,在表中插入行时遇到问题。我可以在触发前插入行,但在触发后无法插入。它给了我一个错误,即“LoadObservation”表不存在。有谁能帮我弄清楚为什么会这样 CREATE TABLE `LoadObservation` ( `sensor_id` int(11) NOT NULL, `oid` int(11) NOT NULL, `timestamp` datetime NOT NULL, `Weight` int(11) DEFAULT NULL, PRI

在创建触发器后,在表中插入行时遇到问题。我可以在触发前插入行,但在触发后无法插入。它给了我一个错误,即“LoadObservation”表不存在。有谁能帮我弄清楚为什么会这样

CREATE TABLE `LoadObservation` (
  `sensor_id` int(11) NOT NULL,
  `oid` int(11) NOT NULL,
  `timestamp` datetime NOT NULL,
  `Weight` int(11) DEFAULT NULL,
  PRIMARY KEY (`sensor_id`,`oid`),
  CONSTRAINT `LoadObservation_ibfk_1` FOREIGN KEY (`sensor_id`) REFERENCES `LoadSensor` (`sensor_id`)
)

DELIMITER $$

CREATE TRIGGER LoadMalfunction
BEFORE INSERT ON LoadObservation FOR EACH ROW
BEGIN
    IF NEW.sensor_id = LoadObservation.sensor_id  AND NEW.weight - LoadObservation.weight < 1000 
        THEN SET NEW.weight = LoadObservation.weight;
    END IF;
END$$    

DELIMITER ;

INSERT INTO LoadObservation(sensor_id, oid, Weight, timestamp) VALUES (350, 50001, 15000,
'2017-07-07 20:00:55');
创建表'LoadObservation`(
`传感器_id`int(11)不为空,
`oid`int(11)不为空,
`timestamp`datetime不为空,
`权重`int(11)默认为空,
主键(`sensor_id`、`oid`),
约束“LoadObservation\u ibfk\u 1”外键(`sensor\u id`)引用了`LoadSensor`(`sensor\u id`)
)
分隔符$$
产生触发负载故障
在为每行插入加载观察之前
开始
如果NEW.sensor_id=LoadObservation.sensor_id和NEW.weight-LoadObservation.weight<1000
然后设置NEW.weight=LoadObservation.weight;
如果结束;
完$$
定界符;
将值(350、50001、15000、,
'2017-07-07 20:00:55');

触发器主体中的
LoadObservation
应该指什么?我的数据库中的LoadObservation表。这在您使用它的上下文中没有意义。您可以提问并解释触发器应该做什么。为了更好地理解每件新事物。权重是表LoadObservation中的新行,使用此触发器可以访问新行的数据。就像sticky bit所说的,这毫无意义,你们应该学习一些图托拉。在我添加任何其他内容之前,我将对触发器做更多的研究。谢谢你的帮助。