MySql中的自动填充列基于两列

时间:2017-04-26 06:17:56

标签: mysql sql

我有一个带有两列A和B的sql db,其中A是一个自动增量。有没有办法在使用Hibernate插入条目时自动填充C列。列C将是B和A中的值的串联,即B_A?

2 个答案:

答案 0 :(得分:1)

您可以使用BEFORE INSERT TRIGGER(https://www.techonthenet.com/mysql/triggers/before_insert.php)来更改插入值。

CREATE TRIGGER addRow BEFORE INSERT ON table
FOR EACH ROW
  BEGIN
      SET new.C = concat(new.a, '_', new.b);
  END

编辑: 您可以使用以下方法获取自动增量值:

DECLARE next_id INT;
   SET next_id = (SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='tbl');
   SET NEW.field=next_id;

答案 1 :(得分:0)

使用以下查询:

SELECT CONCAT(char_col,'_',CAST(int_col AS CHAR));