gpt4 book ai didi

MySQL,在插入行之前生成主键的触发器

转载 作者:行者123 更新时间:2023-11-30 00:09:03 26 4
gpt4 key购买 nike

我正在尝试根据当前日期和时间生成主键,

这是我的触发器:

DELIMITER $$
CREATE TRIGGER cuenta
BEFORE UPDATE ON cuenta
FOR EACH ROW
BEGIN
INSERT INTO cuenta VALUES (NULL);
SET NEW.NoCuenta = DATE_FORMAT(NOW(), '%000%d%m%y%h%i%s');
END$$
DELIMITER ;

我的 table 提示:

NoCuenta, varchar(15), NOT NULL.
TipoCuenta, varchar(7),
saldo, float
IDCliente, int(8).

然后我尝试插入:

insert into banco.cuenta(TipoCuenta, saldo, IDCliente)
VALUES('Debito','12500.5','1');

结果:1 行受影响,1 条警告:1364 字段“NoCuenta”没有默认值但是当我输入 select*fromcuenta...NoCuenta 字段为空。

然后当我尝试插入新行时,它显示:错误代码:1062。键“PRIMARY”的重复条目“”

请帮忙!!

最佳答案

为什么要在触发器中插入表?试试这个:

DELIMITER $$
CREATE TRIGGER cuenta
BEFORE UPDATE ON cuenta
FOR EACH ROW
BEGIN
SET NEW.NoCuenta = DATE_FORMAT(NOW(), '%000%d%m%y%h%i%s');
END$$
DELIMITER ;

关于MySQL,在插入行之前生成主键的触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24235932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com