728x90
반응형
SMALL
간단하게 테스트 해보겠습니다..
요즘 트리거는 안쓰긴하지만 이번에 간단하게필요로 해서 진행하였습니다.
테이블 예시
MariaDB [service]> DESC NAYA; +--------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+----------------+ | num | int(11) | NO | PRI | NULL | auto_increment | | cust | varchar(30) | YES | | NULL | | | di | varchar(60) | YES | | NULL | | | send | varchar(20) | YES | | NULL | | | number | varchar(20) | YES | | NULL | | | content | text | YES | | NULL | | +--------------+-------------+------+-----+---------+----------------+ 6 rows in set (0.001 sec) |
이렇게 있으면
먼저 백업 및 NAYA2.sql 테이블 만들고 복원
# mysqldump -u root -p test NAYA> NAYA.sql # sed 's/ NAYA/ NAYA2/g' NAYA.sql> NAYA2.sql # mysqldump -u root -p test < NAYA2.sql 진행 |
# show tables; # DESSC NAYA2; # select * from NAYA2 ; 이와 같이 데이터가 잘있는지 확인 |
이제 트리거 설정
NAYA 테이블에 데이터 삽입 시 NAYA2 테이블에도 똑 같이 들어가며
Insert 문만 있어 delete는 없다 즉 데이터만 들어오고 삭제되지는 않는다 .
DELIMITER // CREATE TRIGGER tb_naya_after_insert AFTER INSERT ON NAYA FOR EACH ROW BEGIN INSERT INTO NAYA2 (cust_id, div1, send_date, phone_number, content) VALUES (NEW.cust_id, NEW.div1, NEW.send_date, NEW.phone_number, NEW.content); END; DELIMITER // |
데이터 넣어보기 테스트
INSERT INTO NAYA (cust, di, send, number, content) VALUES ('customer123', 'divisionA', '2023-11-22', '123456789', 'Hello, World!'); |
실행 시 데이터가 들어가고
SELECT * FROM NAYA WHERE cust = 'customer123'; SELECT * FROM NAYA2 WHERE cust = 'customer123'; |
명령어로 데이터 두테이블 모두 있는지
DELETE FROM NAYA WHERE cust = 'customer123' AND div = 'divisionA' AND send = '2023-11-22' AND number = '123456789' AND content = 'Hello, World!'; |
라는 명령어로 원본테이블 지우고 다시 또확인
SELECT * FROM NAYA WHERE cust = 'customer123'; SELECT * FROM NAYA2 WHERE cust = 'customer123'; |
그럼 NAYA 원본에는 없고 NAYA2 에는 여전히 있습니다.
728x90
반응형
LIST
'Linux&Ubuntu > DB' 카테고리의 다른 글
mariadb REGEXP_REPLACE 함수 쓰기 (0) | 2024.04.12 |
---|---|
ERROR 1062 (23000) at line 2236: Duplicate entry '?T13219' for key 'PRIMARY' Mysql error (0) | 2023.11.17 |
mysql8.0 root password 초기화 (0) | 2023.11.16 |
mriadb 10.4 이상에서 password plogin ed25519 사용하기 (0) | 2023.11.10 |
Ansible로 DB 설치, 리플리케이션 , 모니터링 구축하기 (0) | 2023.10.31 |