大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
--触发器如果存在则删除重新创建
创新互联建站-专业网站定制、快速模板网站建设、高性价比河源网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式河源网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖河源地区。费用合理售后完善,十余年实体公司更值得信赖。
DROP TRIGGER IF EXISTS 触发器名称;
CREATE TRIGGER 触发器名称
AFTER INSERT ON 表名称
FOR EACH ROW
BEGIN
--这里写你触发器触发时要做的
UPDATE lsxhd
SET ywrq=UNIX_TIMESTAMP(FROM_UNIXTIME(rq, "%Y-%m-%d"))
WHERE
ywrq=UNIX_TIMESTAMP('1970-01-01')--如果这里的‘1970-01-01’是插入的数据中的列值的话,可以从INSERTED中查询出
END;
mysql数据表:
create table driver_order (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
area_start varchar(200),
area_end varchar(200),
order_number varchar(200),
create_user varchar(200),
primary key (id)
);
创建触发器:
DELIMITER $$
CREATE TRIGGER seq_driver_order_number BEFORE INSERT ON driver_order
FOR each ROW
BEGIN
DECLARE seq_type INT(10);
SET seq_type = getUserNo(NEW.create_user);
SET NEW.order_number = getNextCommSequence("motor", seq_type);
END$$
DELIMITER ;
以下是mybatis操作触发器的配置方法:
insert id="insertOrder" parameterType="DriverOrder"
selectKey keyProperty="id,orderNumber" keyColumn="ID,ORDER_NUMBER" order="AFTER" resultType="java.util.Map"
SELECT ID,ORDER_NUMBER FROM DRIVER_ORDER where ID = last_insert_id()
/selectKey
INSERT INTO
DRIVER_ORDER(ID,ORDER_NUMBER,AREA_START,AREA_END,CREATE_USER,CREATE_TIME)
VALUES
(#{id},
#{orderNumber,jdbcType=VARCHAR},
#{areaStart,jdbcType=VARCHAR},
#{areaEnd,jdbcType=VARCHAR},
#{createUser,jdbcType=VARCHAR},
now())
/insert
delimiter //
create trigger upd_a
after insert on table_b
for each row
begin
if
new.收费单号 like 'Y%'
then
update table_a set table_a.编号 =1 where table_a.操作员id = new.收费员id and table_a.编号 1 ;
end if;
end//
delimiter ;
触发器是一个特殊的存储过程,存储过程是需要手动调用的,而触发器是程序自动出发的,比如在对某张表进行删除操作前执行触发器。可以设置在增删除操作前或者之后执行。下面就创建一个小例子。
方法/步骤
确认mysql服务开启。
连接mysql。
进入到相应的数据库,并查看相应表的数据。
创建触发器,当在向表t_user插入之前,向表user插入数据。
插入一条语句。
6
查看触发器是否执行。