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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.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_Sql_Triggers_Database Trigger - Fatal编程技术网

如果存在MYSQL查询,则获取该特定列的值并与新值进行比较

如果存在MYSQL查询,则获取该特定列的值并与新值进行比较,mysql,sql,triggers,database-trigger,Mysql,Sql,Triggers,Database Trigger,我试图将新值与SQL语句中基于数据的现有值进行比较,即转到表获取特定值并检查该值是否大于新值,然后更新其他一些表,否则不执行任何操作 我的问题是,我无法将查询值转换为字符串,以便在if语句中进行比较 我的代码: IF (EXISTS (SELECT * FROM table_1 WHERE Id =NEW.Id and time = NEW.time ORDER BY price ASC LIMIT 1)) THEN IF (price < NEW.price

我试图将新值与SQL语句中基于数据的现有值进行比较,即转到表获取特定值并检查该值是否大于新值,然后更新其他一些表,否则不执行任何操作

我的问题是,我无法将查询值转换为字符串,以便在if语句中进行比较

我的代码:

IF (EXISTS (SELECT * FROM table_1 WHERE   Id =NEW.Id and  time = NEW.time ORDER BY price ASC LIMIT 1)) THEN  

        IF (price <  NEW.price) THEN
//----------^^^^^^----------------- there is one column in table_1 not able to convert it to string to check in if statement///

            UPDATE historical SET low_price = NEW.price  WHERE  id =NEW.Id and date_time = NEW.time;  

        END IF;
    END IF;

如果price是表_1中的一列,则可以将第二个If条件移动到第一个If条件

IF (EXISTS (SELECT * FROM table_1 WHERE   Id =NEW.Id and  time = NEW.time and price <  NEW.price ORDER BY price ASC LIMIT 1)) THEN  

        UPDATE historical SET low_price = NEW.price  WHERE  id =NEW.Id and date_time = NEW.time;  

END IF;

如果price是表_1中的一列,则可以将第二个If条件移动到第一个If条件

IF (EXISTS (SELECT * FROM table_1 WHERE   Id =NEW.Id and  time = NEW.time and price <  NEW.price ORDER BY price ASC LIMIT 1)) THEN  

        UPDATE historical SET low_price = NEW.price  WHERE  id =NEW.Id and date_time = NEW.time;  

END IF;

感谢我尝试过的回复,但这就像我想在字符串中输入该值一样,因为我在is>中使用了两个操作,一个是<当时它变得混乱,并造成了一个问题,其中price as varchar中使用了两个操作,一个是<当时它变得混乱,并产生了一个问题,其中price as varchar