MySQL - 在行中创建2个值中的MD5并将其保存为主键

时间:2015-01-13 13:47:02

标签: mysql sql

我创建了一个这样的表:

create table table1 (

    field1 text not null,
    field2 text not null, 
    field3 text not null,
    ...
    id binary primary key not null
);

如果我在这个表中添加一行,我想从field1和field2的值中自动创建一个MD5 Hash。 创建的MD5应该作为ID用作此行内的主键。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

创建一个INSERT TRIGGER:

DELIMITER $$

CREATE TRIGGER generate_md5  
BEFORE INSERT ON table1
FOR EACH ROW  
BEGIN  
  NEW.id = MD5(CONCAT(NEW.field1, NEW.field2))
END $$

DELIMITER ;