web-dev-qa-db-ja.com

フィールドを減算し、他のフィールドに値を自動的に挿入する方法は?

 id val1 val2 total 
 
 1 10 4 10-4(自動的に値を取得)
。
。
。
。

私はphpとmysqlを使用しています。フィールドで自動的に計算する必要がある合計列がありますが、どのように実行できますか?

2
moussa houssein

この要件があなたにとって非常に重要である場合は、見てください ここ -MariaDBの計算フィールド-計算を実行する必要はありません-それはすべてあなたのために行われます!指摘したように、いつでも計算を実行できます。

3
Vérace

このクエリを使用

select id, val1, val2, val1 - val2 as total 
from table_name;
0
ankit pamecha

トリガーを使用してみてください。

挿入val1およびval2ストアドプロシージャを使用します。

「挿入後」トリガーを記述して、列間の差異として3番目の列を更新しますval1およびval2

0

これを試して、

CREATE TABLE TestDiff (
  Id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  Val1 INT(11) NOT NULL,
  Val2 INT(11) NOT NULL,
  Total INT(11) DEFAULT NULL,
  PRIMARY KEY (Id)
);


INSERT INTO TestDiff(Val1, Val2)
VALUES(100, 10), (160, 30), (140, 50), (180, 68);

UPDATE TestDiff 
SET Total = (Val1 - Val2);

特定のIDで更新したい場合は、以下のような条件を置くことができます

UPDATE TestDiff 
SET Total = (Val1 - Val2) 
WHERE Id = 3 ;
0
Pydi Raju