[英]How to update a table field using after insert trigger?
我想用 MD5() 更新插入的行字段名稱是“hash_code”。
DELIMITER
//
CREATE TRIGGER `make_hash2` AFTER INSERT ON
`newtable` FOR EACH ROW
BEGIN
DECLARE
_id INTEGER ;
SELECT
id
INTO _id
FROM
`newtable`
ORDER BY `id`
DESC
LIMIT 1;
UPDATE
`newtable`
SET
`hash_code` = MD5(_id)
WHERE
id = _id ;
END
我嘗試使用以下代碼,但在插入時拋出以下錯誤。
#1442 - 無法更新存儲函數/觸發器中的表“newtable”,因為它已被調用此存儲函數/觸發器的語句使用
如果您希望hash_code
是 id 的md5()
hash,您可以使用生成的列:
alter table newtable add column hash_code varchar(32) as
(md5(id))
這是一個 db<>fiddle。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.