我们如何提供coldfusion';在mysql5中触发器中的会话值?

我们如何提供coldfusion';在mysql5中触发器中的会话值?,mysql,triggers,coldfusion-8,Mysql,Triggers,Coldfusion 8,在mysql5中实现触发器时,我可以传递coldfusion应用程序中的任何会话值(如-userName、createdBy等) 在插入后创建触发器用户 在用户上插入后 每行 插入到审核日志(requisionid、applicationId、ColumnName、OldID、NewID、Description、CreatedBy、CreatedDate) 价值观 (0,0,,,0,0,CONCAT('New user with UserID',New.UserID',已创建'), sessio

在mysql5中实现触发器时,我可以传递coldfusion应用程序中的任何会话值(如-userName、createdBy等)

在插入后创建触发器用户 在用户上插入后 每行 插入到审核日志(requisionid、applicationId、ColumnName、OldID、NewID、Description、CreatedBy、CreatedDate) 价值观 (0,0,,,0,0,CONCAT('New user with UserID',New.UserID',已创建'), session.userName,curdate() ); 在上面的查询中,我必须为auditLog表的“CreatedBy”列提供“session.userName”值,因为“CreatedBy”列不在“user”表中,这就是为什么我必须从coldfusion会话中提供它

如果有人能帮助解决这个问题,我们将不胜感激

谢谢
Yugal

创建一个触发器,并在触发器中使用此触发器:

CREATE TRIGGER Users_After_Insert
AFTER insert ON users
FOR EACH ROW
INSERT INTO auditlog (RequisitionID,ApplicantID,ColumnName,OldID,NewID,Description,CreatedBy,CreatedDate)
values
(0,0,'',0,0,CONCAT('New user with UserID ',new.UserID,' is created.'),
 @userName, curdate()
);
在执行插入之前,首先必须设置用户名:

SET @userName = 'Shooter';
INSERT INTO ...;
但是你为什么不用一个字母来表示呢?使用触发器时,可能会出错,您可能会忘记设置变量

SET @userName = 'Shooter';
INSERT INTO ...;