好吧,让我尽可能简单地解释一下,基本上我有一个表doc_info,它存储有关上传文件的信息;如文件名、创建日期、上传人等;
我想要的是在这个表上创建一个INSERT触发器,它将获得两个东西,这个新插入行的主键ID和上传文件名的扩展名,该扩展名将在文档名称中;并用这个连接值连接它们并更新同一行
例如,如果有人上传了"document.docx",那么ID将自动生成为x,文档名称将为document.docx,因此要存储的值将为"x.docx",并在同一行使用更新。
我是MySQL的新手,对MySQL是否可以执行这样的操作知之甚少。
要在db中实现这样的操作,您应该创建两个触发器:插入后和更新时。他们应该像这个
delimiter |
CREATE TRIGGER changeProperty AFTER INSERT ON doc_info
FOR EACH ROW
BEGIN
UPDATE doc_info SET doc_info.someProperty = CONCAT(doc_info.id, doc_info.extension) WHERE doc_info.id = NEW.id;
END;
|
您可以通过以下表达式计算文件名的扩展名:SUBSTRING_INDEX(doc_id.fileName, '.', -1);