Trigger

2022. 3. 17. 21:15SQL

테이블 생성

create table chat(
	chat_id int primary key auto_increment,
    msg varchar(200)
);
create table chatBackup(
	backup_id int primary key auto_increment,
    chat_id int,
    msg varchar(200),
    backupDate timestamp
);

chat 테이블에 데이터 추가

insert into chat(msg) values ("hi"), ("hello"), ("what is your name?");
select * from chat;

트리거 만들기

delimiter |
create trigger cbackup
before delete on chat
for each row begin
	insert into chatBackup(chat_id, msg)
    values (old.chat_id, old.msg);
end |

delimiter | [코드] | : 코드에서 세미콜론(;)을 여러개 사용해야할 때 사용하는 함수

트리거 확인

SHOW triggers;

데이터 확인

select * from chat;
select * from chatBackup;

삭제 쿼리 실행

delete from chat
where msg like "h%"
limit 5;

백업 데이터 복원

insert into chat
select chat_id, msg
from chatBackup;

'SQL' 카테고리의 다른 글

집합  (0) 2022.03.17
Index  (0) 2022.03.17
SQL : Between, In, Limit  (0) 2022.03.17
Subquery  (0) 2022.03.17
문자형, 숫자형, 날짜형 함수 정리  (0) 2022.03.17