Mysql boy 2

P79:触发器

书接上回,触发器不可以自己更新自己

也就是说,触发器不可以更新自己所在的表格

ex:

drop trigger if exists payments_after_insert;
delimiter $$
create trigger payments_after_insert
	after insert on payments
    for each row
begin
	update invoices
    set payment_total = payment_total+new.amount
    where invoice_id = new.invoice_id;
end$$
delimiter ;

  其中,update不可以更新自己,即 update不可以update payments

注:如果需要插入-----> insert into

       如果需要删除-----> delete from

 

P80:查看trigger

面板上没有查看trigger的选项,所以我们需要用代码来查看trigger

show triggers 

or

show triggers like 'payment%'

 

P82:对触发器进行审计

 

 

P83:events 事件

不知道events有啥用,哈哈哈哈哈

 

 

 

P85:事务 transactions

如果想一下解决插入表的问题,可以使用transaction

start transaction;
insert into orders (customer_id,order_date,status)
values (1,'2019-01-01',1);

insert into order_items
value(last_insert_id(),1,1,1);

commit

  

在开始前要设定一个start transaction

结束之后要写一个commit

 

P89:事务隔离级别

transaction isolation level 

 

 重要的隔离级别就是 repeatable read

 

P103 Json类型

 

P104:设计数据库

 

posted @ 2023-02-01 10:51  Dyral_HAN  阅读(18)  评论(0编辑  收藏  举报