我有这个问题与我新创建的数据库。我创建了我的表,并尝试在添加数据时添加前缀,如在这个问题中所示,如何使MySQL表主键自动增加一些前缀,并提出了这个触发器使用:
CREATE TRIGGER tg_contracts_insert BEFORE INSERT ON contracts
FOR EACH ROW
BEGIN
INSERT INTO contracts_seq VALUES (NULL);
SET NEW.cid = CONCAT('CN', LPAD(LAST_INSERT_CID(), 5, '0'));
END
cid是自动插入的主键。显然,我能够添加触发器。然而,当我尝试在主表"contracts"上添加我的值时,使用这个:
INSERT INTO contracts (name, conres, conven, start, end, tipo) VALUES ('Roberto Grajales', 'Pedro', 'Pascual', '2022-12-12', '2022-08-08', 'Servicio');
name, conres, conven为VARCHAR类型,起始和结束日期,tip为ENUM。我得到以下错误消息:
FUNCTION database.LAST_INSERT_CID does not exist
有人知道为什么和如何解决这个问题吗?谢谢!
没有LAST_INSERT_CID()函数。您可能指的是LAST_INSERT_ID()。