我现在要将ms-sql的触发器 改为 mysql 的出发器,有这样一个问题
ms-sql 有语句:select @entityId = entityid,@ips = ltrim(RTRIM(value)) from inserted where name = 'ipAddress'
现在想改为 mysql怎么改;
如果没有后面的条件,好像可以用new.entityid 来获取刚插入的值,但是现在有条件,怎么改?
ms-sql 有语句:select @entityId = entityid,@ips = ltrim(RTRIM(value)) from inserted where name = 'ipAddress'
现在想改为 mysql怎么改;
如果没有后面的条件,好像可以用new.entityid 来获取刚插入的值,但是现在有条件,怎么改?
解决方案 »
- mysql存储过程中如何把查询的值取出来并赋给自己定义的字段
- txt文件导入到数据库问题
- mysql怎样指定某个数据库不写入二进制日志
- 请教mysql 的问题 table 表名 is full 是啥错误
- 安装mysql rpm失败
- 插入数据的时候一个23000的错误
- [MYSQL]还是乱码问题。jsp+mysql4.1.X+tomcat5.028 基本编码都保持一直了 还是不成功。详细。。。。
- 求MYSQL处理千万或者百万条以上记录全文检索的例子!
- 我要将MYSQL的权限设置为其他计算机可用,该如何设置?
- mysql数据库服务启动成功但是 命令提示找不到
- 请问如何得到最后一次update操作的记录的id?
- mysql中的几个问题
请参见mySQL的语法手册
http://dev.mysql.com/doc/refman/5.1/zh/index.html
是改为 下面的语句吗?编译通过了,还有个问题: inserted 这里用on 后面的表明来代替是吗?
select entityid, ltrim(RTRIM(value)) into @entityId, @ips from mytestTab where name = 'ipAddress';
if new.name= 'ipAddress' then
set @entityId=entityid;
set @ips=ltrim(RTRIM(value));
end if
或者我改的语句可以吗?
DELIMITER $$
drop trigger if exists rr1$$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `test`.`rr1` AFTER INSERT
ON `test`.`lsb3`
FOR EACH ROW BEGIN
if new.name= 'ipAddress' then
set @entityId=entityid;
set @ips=ltrim(RTRIM(value));
end if;
END$$