Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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,我试图创建一个触发器,将sales_price字段乘以-1,sales表类似于此交易类型,它有varchar R表示退款,S表示销售 这是我试图创建的触发器: delimiter $$ CREATE trigger refund_negative before insert on sale for each row begin set new.SALE_PRICE = new.SALE_PRICE *(-1) where TRA_TYPE = 'R'; end;

我试图创建一个触发器,将sales_price字段乘以-1,sales表类似于此交易类型,它有varchar R表示退款,S表示销售

这是我试图创建的触发器:

delimiter $$     
CREATE trigger refund_negative before insert on sale 
for each row    
begin
set new.SALE_PRICE = new.SALE_PRICE *(-1)   
where TRA_TYPE = 'R';
end;   
delimiter $$
试试这个:

CREATE TRIGGER `refund_negative` BEFORE INSERT ON `sales` FOR EACH ROW BEGIN
IF NEW.TRA_TYPE='R' THEN
    SET NEW.price = NEW.price * -1;
END IF;
END

所以基本上它只是测试
trau TYPE
是否等于'R',如果是这样,
NEW.price
乘以负数。

你想发生什么?我需要触发器将int值更改为负数,其中交易类型为=R,例如,当我在表中放入新行时,我将10.99作为销售价格,将R或S作为交易类型,但每次交易类型为RThis is super时,需要将值10.99更改为-10.99!!万分感谢!!祝你五星!我不知道我做错了什么。非常感谢你的帮助!!我不知道为什么我不投你的赞成票!!无论如何,谢谢你,干得好