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

Mysql 如何将值增加或减少到另一个表?

Mysql 如何将值增加或减少到另一个表?,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我有两张桌子——包和市场。 此时,行李表中有如下数据: 如果我从market表中添加数据,table bag中的qty列将根据market表中输入的金额减少。总价栏将计算总数量市场*价格包根据我的理解,我建议使用触发器 DELIMITER $$ CREATE TRIGGER trg_insert AFTER INSERT ON market begin update bags set qty = ((select qty from bags where id=1)-(select

我有两张桌子——包和市场。

此时,行李表中有如下数据:


如果我从market表中添加数据,table bag中的qty列将根据market表中输入的金额减少。总价栏将计算总数量市场*价格包

根据我的理解,我建议使用触发器

DELIMITER $$
 CREATE TRIGGER trg_insert
 AFTER INSERT ON market

 begin
 update bags set qty = ((select qty from bags where id=1)-(select 
 market.total_qty from market where 
 id=1) ))
 ,price = ((select price from basgs where id=1)-(select market.total_prc 
  from market where 
 market.id=1)))
 where bags.id = 1;
  END$$
 DELIMITER $$
现在我使用提供给您的静态值, 试试这个代码


似乎要存储从其他列计算的值?这通常是个坏主意,数据不一致的风险太大了。而是考虑视图或计算列。或者使用触发器进行管理。真的吗?你能给我解决这个问题的方法吗?你需要提供样本数据和期望的结果。你的解释没有你想象的那么清楚。顺便说一下,你的问题的答案是你需要一个触发器。这是错误的,先生您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第4行“开始更新行李设置数量=行李数量-选择市场数量-从市场时的总数量”附近使用的正确语法