gpt4 book ai didi

mysql - 在 mysql 中使用多行触发器将两列合并为一列

转载 作者:可可西里 更新时间:2023-11-01 07:59:14 25 4
gpt4 key购买 nike

以下是我的表架构:

+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| LicenceID | int(11) | NO | PRI | NULL | |
| PassingRTO | varchar(4) | NO | | NULL | |
| DLNO | int(15) | YES | | NULL | |
| DateOfIssue | date | NO | | NULL | |
| DateOfExpiry | date | NO | | NULL | |
| COV | varchar(6) | NO | | NULL | |
| DateOfBirth | date | NO | | NULL | |
| BloodGroup | varchar(3) | YES | | NULL | |
| FullName | varchar(50) | NO | | NULL | |
| FathersName | varchar(50) | YES | | NULL | |
| Address | varchar(150) | NO | | NULL | |
| PinCode | int(6) | NO | | NULL | |
| IssuingAuth | int(7) | NO | | NULL | |
| IDIA | int(11) | YES | | NULL | |
| Valid | tinyint(4) | NO | | NULL | |
+--------------+--------------+------+-----+---------+-------+

我想做的是当我插入一个新行时,我希望我的 DLNO 作为 PassingRTO+LicenceID 和 IDIA 作为 PassingRTO+IssuingAuth。

我尝试了同样的使用 -

create trigger insert_combined 
after insert on LicencesDB
for each row
BEGIN
set new.IDIA = concat(new.PassingRTO, new.IssuingAuth);
set new.DLNO = concat(new.PassingRTO,new.LicenceID);
END;

但是给了我一个错误——

ERROR 1362 (HY000): Updating of NEW row is not allowed in after trigger ERROR 1193 (HY000): Unknown system variable 'DLNO' ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1

现在我有两个问题,我们可以在触发器中使用多行吗?我们不能在创建表格时合并两列吗?比如 col1 = col2 + col3?

提前致谢!

最佳答案

不要忘记更改 DELIMITER

DELIMITER $$
create trigger insert_combined
after insert on LicencesDB
for each row
BEGIN
set new.IDIA = concat(new.PassingRTO, new.IssuingAuth);
set new.DLNO = concat(new.PassingRTO,new.LicenceID);
END $$
DELIMITER ;

关于mysql - 在 mysql 中使用多行触发器将两列合并为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16143559/

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