如果存在MYSQL查询,则获取该特定列的值并与新值进行比较
我试图将新值与SQL语句中基于数据的现有值进行比较,即转到表获取特定值并检查该值是否大于新值,然后更新其他一些表,否则不执行任何操作 我的问题是,我无法将查询值转换为字符串,以便在if语句中进行比较 我的代码:如果存在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
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