2017-04-26 55 views
0

我有一個帶有兩列A和B的SQL數據庫,其中A是一個自動增量。有沒有什麼方法可以在使用Hibernate插入條目時自動填充列C.列C將是B和A中值的串聯,即B_A?基於兩列的MySql中的自動填充列

+2

這是不是一個好主意,以節省一個信息兩次 – Jens

+0

'創建視圖v作爲選擇a,b,concat(a,b)ab ...' – jarlh

回答

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; 
+0

autoincrement字段將給出一個值爲0而不是它將要採用的值。 – 250

0

用途:

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