Mysql 是否可以根据同一行中的其他值自动设置列中的值?

Mysql 是否可以根据同一行中的其他值自动设置列中的值?,mysql,sql,Mysql,Sql,假设我的行有列:A、B和AB 如果我要为A列插入值5,为B列插入值2,MySQL或其他东西是否可以自动获取这些值并对其执行某些操作,例如乘法并将其存储到特定列中,例如AB 我的基本目标是(使用SQL查询)根据A和B的乘法得到表中的前5个值 我该怎么做?是的,是的,是的,是的,是的 如果你想那样插入它们,就这样做 Insert into table (column_ab) values (a * b) 或者当你选择这样做的时候 select a , b , a*b as multi

假设我的行有列:A、B和AB

如果我要为A列插入值5,为B列插入值2,MySQL或其他东西是否可以自动获取这些值并对其执行某些操作,例如乘法并将其存储到特定列中,例如AB

我的基本目标是(使用SQL查询)根据A和B的乘法得到表中的前5个值


我该怎么做?

是的,是的,是的,是的,是的

如果你想那样插入它们,就这样做

    Insert into table (column_ab) values (a * b)
或者当你选择这样做的时候

   select a , b , a*b as multip from your_table Order by multip desc LIMIT 5

这将得到a、b和前5的相乘值。

是,是,是,是,是,是

如果你想那样插入它们,就这样做

    Insert into table (column_ab) values (a * b)
或者当你选择这样做的时候

   select a , b , a*b as multip from your_table Order by multip desc LIMIT 5

这将得到a、b和前5的相乘值。

使列根据其他列自动计算列的一种解决方案是使用触发器:

mysql> DELIMITER !

mysql> CREATE TRIGGER calc_ab_ins BEFORE INSERT ON mytable 
FOR EACH ROW BEGIN
  SET NEW.ab = NEW.a * NEW.b;
END !

mysql> CREATE TRIGGER calc_ab_upd BEFORE UPDATE ON mytable 
FOR EACH ROW BEGIN
  SET NEW.ab = NEW.a * NEW.b;
END !

mysql> DELIMITER ;

使列基于其他列自动计算列的一种解决方案是使用触发器:

mysql> DELIMITER !

mysql> CREATE TRIGGER calc_ab_ins BEFORE INSERT ON mytable 
FOR EACH ROW BEGIN
  SET NEW.ab = NEW.a * NEW.b;
END !

mysql> CREATE TRIGGER calc_ab_upd BEFORE UPDATE ON mytable 
FOR EACH ROW BEGIN
  SET NEW.ab = NEW.a * NEW.b;
END !

mysql> DELIMITER ;

当插入a和b的列时,只需将二者的乘法插入第三列,如下所示

INSERT INTO Sample (a, b, ab) VALUES (5, 10, 5*10);

在a和b列中插入时,只需将二者的乘法插入第三列,如下所示

INSERT INTO Sample (a, b, ab) VALUES (5, 10, 5*10);

选择的零件正是我要找的!谢谢你迅速的回答!选择的部分正是我要找的!谢谢你迅速的回答!