📢trigger(트리거) : 연쇄반응
- 테이블에 대한 이벤트(insert, update, delete)에 반응하여 자동으로 실행되는 작업.
- 이벤트가 발생했을 때 데이터의 무결성(일관성)을 지키기 위해 사용.
--트리거 구문
drop trigger if exists 트리거명;
delimiter $$ => 문장의 끝을 수정하는 키워드 ; => $$ //
create trigger 트리거명 after | before 이벤트 on 테이블명
for each now
begin
[트리거 시 실행될 구문 작성]
-- 변수 사용가능. (선언 방법)
declare 변수명 자료형 기본값; --_@ 특별한 기호를 이용하여 변수임을 알림
set 변수명 = 값;
--new : 이벤트가 발생한 행의 최신 데이터
--old : 이벤트가 발생하기 전의 데이터
📢실습(1)
use testdb;
-- product / buy 테이블 이용
-- product 테이블에 amount(재고량)=100, sale_amount(판매량)=0 으로 변경.
update product set amount=100, sale_amount=0;
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| num | type_a | type_b | name | price | amount | sale_amount | register_date |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| 1 | 티셔츠 | 긴소매 | 폴라 티셔츠 | 15000 | 100 | 0 | 2023-10-15 00:00:00 |
| 2 | 티셔츠 | 긴소매 | 크롭 티셔츠 | 10000 | 100 | 0 | 2023-10-15 00:00:00 |
| 5 | 패션운동복 | 트레이닝상의 | 피트니스상의 | 30000 | 100 | 0 | 2023-12-05 00:00:00 |
| 6 | 패션운동복 | 트레이닝하의 | 피트니스하의 | 50000 | 100 | 0 | 2023-12-06 00:00:00 |
| 7 | 패션운동복 | 트레이닝세트 | 피트니스상하의 | 90000 | 100 | 0 | 2023-12-07 00:00:00 |
| 8 | 아우터 | 재킷 | 양면 롱 후리스 자켓 | 23300 | 100 | 0 | 2023-11-05 00:00:00 |
| 9 | 아우터 | 코트 | 양털 겨울 코트 | 50000 | 100 | 0 | 2023-10-31 00:00:00 |
| 10 | 아우터 | 코트 | 트렌치 코트 | 40000 | 100 | 0 | 2023-10-31 00:00:00 |
| 11 | 아우터 | 패딩 | 롱 패팅 점퍼 | 47400 | 100 | 0 | 2023-11-01 00:00:00 |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
--buy 테이블에 insert가 되면 buy.amount만큼 product테이블의 amount -, sale_amount +
drop trigger if exists insert_buy;
delimiter $$
create trigger insert_buy after insert on buy
for each row
begin
update product set
amount = amount - new.amount,
sale_amount = sale_amount + new.amount
where name = new.product_name;
end $$
delimiter ;
🟢트리거를 만들 시, 안정성이 검증된 유저만 트리거, 프로시저, 함수를 사용할 수 있으므로 에러가 남.
--권한 조회 (안정성이 검증된 유저만 트리거, 프로시저, 함수를 사용할 수 있게 off로 되어있음)
show global variables like 'log_bin_trust_function_creators';
--결과
log_bin_trust_function_creators = off
--exit 후 root계정으로 들어가서 set
set global log_bin_trust_function_creators = on;
--결과
log_bin_trust_function_creators = on
insert into buy(customer, product_name, price, amount)
values ('홍길동','폴라 티셔츠', 15000,10);
mysql> select * from buy;
+-----+----------+-------------------+-------+--------+--------+---------------------+
| num | customer | product_name | price | amount | total | buy_date |
+-----+----------+-------------------+-------+--------+--------+---------------------+
| 1 | 홍길동 | 폴라 티셔츠 | 17000 | 5 | 85000 | 2024-08-29 10:54:43 |
| 2 | 홍길순 | 크롭 티셔츠 | 10000 | 3 | 30000 | 2024-08-29 10:58:52 |
| 3 | 김기태 | 순면라운드 반팔티 | 15900 | 1 | 15900 | 2024-08-29 11:02:56 |
| 4 | 홍기원 | 에이 나시 | 9000 | 3 | 27000 | 2024-08-29 11:02:56 |
| 5 | 하남일 | 피트니스상의 | 30000 | 7 | 210000 | 2024-08-29 11:02:56 |
| 6 | 송슬기 | 피트니스하의 | 50000 | 3 | 150000 | 2024-08-29 11:02:56 |
| 7 | 조아람 | 피트니스상하의 | 90000 | 2 | 180000 | 2024-08-29 11:02:57 |
| 8 | 조미란 | 순면라운드 반팔티 | 15900 | 4 | 63600 | 2024-08-29 11:04:30 |
| 9 | 전한결 | 피트니스상의 | 30000 | 2 | 60000 | 2024-08-29 11:05:37 |
| 10 | 장우람 | 피트니스하의 | 50000 | 1 | 50000 | 2024-08-29 11:05:37 |
| 11 | 고담비 | 피트니스상하의 | 90000 | 5 | 450000 | 2024-08-29 11:05:38 |
| 12 | 고윤서 | 피트니스상하의 | 90000 | 3 | 270000 | 2024-08-29 11:42:44 |
| 13 | 이시연 | 폴라 티셔츠 | 15000 | 2 | 30000 | 2024-08-29 15:06:20 |
| 14 | 채송화 | 에이 나시 | 9000 | 5 | 45000 | 2024-08-29 15:06:20 |
| 15 | 선아영 | 롱 패팅 점퍼 | 47400 | 1 | 47400 | 2024-08-29 15:06:21 |
| 16 | 홍길동 | 폴라 티셔츠 | 15000 | 10 | 150000 | 2024-09-02 16:48:51 |
+-----+----------+-------------------+-------+--------+--------+---------------------+
mysql> select * from product;
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| num | type_a | type_b | name | price | amount | sale_amount | register_date |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| 1 | 티셔츠 | 긴소매 | 폴라 티셔츠 | 15000 | 90 | 10 | 2023-10-15 00:00:00 |
| 2 | 티셔츠 | 긴소매 | 크롭 티셔츠 | 10000 | 100 | 0 | 2023-10-15 00:00:00 |
| 5 | 패션운동복 | 트레이닝상의 | 피트니스상의 | 30000 | 100 | 0 | 2023-12-05 00:00:00 |
| 6 | 패션운동복 | 트레이닝하의 | 피트니스하의 | 50000 | 100 | 0 | 2023-12-06 00:00:00 |
| 7 | 패션운동복 | 트레이닝세트 | 피트니스상하의 | 90000 | 100 | 0 | 2023-12-07 00:00:00 |
| 8 | 아우터 | 재킷 | 양면 롱 후리스 자켓 | 23300 | 100 | 0 | 2023-11-05 00:00:00 |
| 9 | 아우터 | 코트 | 양털 겨울 코트 | 50000 | 100 | 0 | 2023-10-31 00:00:00 |
| 10 | 아우터 | 코트 | 트렌치 코트 | 40000 | 100 | 0 | 2023-10-31 00:00:00 |
| 11 | 아우터 | 패딩 | 롱 패팅 점퍼 | 47400 | 100 | 0 | 2023-11-01 00:00:00 |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
--재고가 10개 빠지고 판매가 10개 들어간 걸 볼 수 있다.
------------------------------------------------------------------------------------------
insert into buy(customer, product_name, price, amount)
values ('박순이','피트니스상의', 30000,7);
mysql> select * from buy;
+-----+----------+-------------------+-------+--------+--------+---------------------+
| num | customer | product_name | price | amount | total | buy_date |
+-----+----------+-------------------+-------+--------+--------+---------------------+
| 1 | 홍길동 | 폴라 티셔츠 | 17000 | 5 | 85000 | 2024-08-29 10:54:43 |
| 2 | 홍길순 | 크롭 티셔츠 | 10000 | 3 | 30000 | 2024-08-29 10:58:52 |
| 3 | 김기태 | 순면라운드 반팔티 | 15900 | 1 | 15900 | 2024-08-29 11:02:56 |
| 4 | 홍기원 | 에이 나시 | 9000 | 3 | 27000 | 2024-08-29 11:02:56 |
| 5 | 하남일 | 피트니스상의 | 30000 | 7 | 210000 | 2024-08-29 11:02:56 |
| 6 | 송슬기 | 피트니스하의 | 50000 | 3 | 150000 | 2024-08-29 11:02:56 |
| 7 | 조아람 | 피트니스상하의 | 90000 | 2 | 180000 | 2024-08-29 11:02:57 |
| 8 | 조미란 | 순면라운드 반팔티 | 15900 | 4 | 63600 | 2024-08-29 11:04:30 |
| 9 | 전한결 | 피트니스상의 | 30000 | 2 | 60000 | 2024-08-29 11:05:37 |
| 10 | 장우람 | 피트니스하의 | 50000 | 1 | 50000 | 2024-08-29 11:05:37 |
| 11 | 고담비 | 피트니스상하의 | 90000 | 5 | 450000 | 2024-08-29 11:05:38 |
| 12 | 고윤서 | 피트니스상하의 | 90000 | 3 | 270000 | 2024-08-29 11:42:44 |
| 13 | 이시연 | 폴라 티셔츠 | 15000 | 2 | 30000 | 2024-08-29 15:06:20 |
| 14 | 채송화 | 에이 나시 | 9000 | 5 | 45000 | 2024-08-29 15:06:20 |
| 15 | 선아영 | 롱 패팅 점퍼 | 47400 | 1 | 47400 | 2024-08-29 15:06:21 |
| 16 | 홍길동 | 폴라 티셔츠 | 15000 | 10 | 150000 | 2024-09-02 16:48:51 |
| 17 | 박순이 | 피트니스상의 | 30000 | 7 | 210000 | 2024-09-02 16:51:15 |
+-----+----------+-------------------+-------+--------+--------+---------------------+
mysql> select * from product;
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| num | type_a | type_b | name | price | amount | sale_amount | register_date |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| 1 | 티셔츠 | 긴소매 | 폴라 티셔츠 | 15000 | 90 | 10 | 2023-10-15 00:00:00 |
| 2 | 티셔츠 | 긴소매 | 크롭 티셔츠 | 10000 | 100 | 0 | 2023-10-15 00:00:00 |
| 5 | 패션운동복 | 트레이닝상의 | 피트니스상의 | 30000 | 93 | 7 | 2023-12-05 00:00:00 |
| 6 | 패션운동복 | 트레이닝하의 | 피트니스하의 | 50000 | 100 | 0 | 2023-12-06 00:00:00 |
| 7 | 패션운동복 | 트레이닝세트 | 피트니스상하의 | 90000 | 100 | 0 | 2023-12-07 00:00:00 |
| 8 | 아우터 | 재킷 | 양면 롱 후리스 자켓 | 23300 | 100 | 0 | 2023-11-05 00:00:00 |
| 9 | 아우터 | 코트 | 양털 겨울 코트 | 50000 | 100 | 0 | 2023-10-31 00:00:00 |
| 10 | 아우터 | 코트 | 트렌치 코트 | 40000 | 100 | 0 | 2023-10-31 00:00:00 |
| 11 | 아우터 | 패딩 | 롱 패팅 점퍼 | 47400 | 100 | 0 | 2023-11-01 00:00:00 |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
🟢 이 상태에서 product 테이블에서 데이터를 선택하여 buy 테이블에 삽입하려고 하면, 에러 발생
👉🏻MySQL이 product 테이블에 대해 두 가지 작업을 동시에 처리하려고 함.
1. product 테이블에서 데이터를 선택 (select)
2. 트리거가 실행되면서 같은 product 테이블을 업데이트 (update)
MySQL은 동일한 SQL 문에서 참조(SELECT)와 업데이트(UPDATE)를 동시에 수행할 수 없다
--trigger 적용 이후에는 실행 안 됨. error.
insert into buy(customer, product_name, price, amount)
select '박순이',name,price,6 from product
where num=11;
ERROR 1442 (HY000): Can't update table 'product' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
📢실습(2)
--buy 테이블에 데이터를 삭제하면 amount, sale_amount 변경
--트리거 생성
--delete 삭제 후 확인
-- 변수 사용
--declare 변수명 자료형 기본값;
--set 변수명 = 값;
drop trigger if exists del_buy;
delimiter $$
create trigger del_buy after delete on buy
for each row
begin
declare _amount int default 0;
set _amount = old.amount;
update product set
amount = amount + _amount,
sale_amount = sale_amount - _amount
where name = old.product_name;
end $$
delimiter ;
delete from buy where num= 1;
mysql> select * from buy;
+-----+----------+-------------------+-------+--------+--------+---------------------+
| num | customer | product_name | price | amount | total | buy_date |
+-----+----------+-------------------+-------+--------+--------+---------------------+
| 2 | 홍길순 | 크롭 티셔츠 | 10000 | 3 | 30000 | 2024-08-29 10:58:52 |
| 3 | 김기태 | 순면라운드 반팔티 | 15900 | 1 | 15900 | 2024-08-29 11:02:56 |
| 4 | 홍기원 | 에이 나시 | 9000 | 3 | 27000 | 2024-08-29 11:02:56 |
| 5 | 하남일 | 피트니스상의 | 30000 | 7 | 210000 | 2024-08-29 11:02:56 |
| 6 | 송슬기 | 피트니스하의 | 50000 | 3 | 150000 | 2024-08-29 11:02:56 |
| 7 | 조아람 | 피트니스상하의 | 90000 | 2 | 180000 | 2024-08-29 11:02:57 |
| 8 | 조미란 | 순면라운드 반팔티 | 15900 | 4 | 63600 | 2024-08-29 11:04:30 |
| 9 | 전한결 | 피트니스상의 | 30000 | 2 | 60000 | 2024-08-29 11:05:37 |
| 10 | 장우람 | 피트니스하의 | 50000 | 1 | 50000 | 2024-08-29 11:05:37 |
| 11 | 고담비 | 피트니스상하의 | 90000 | 5 | 450000 | 2024-08-29 11:05:38 |
| 12 | 고윤서 | 피트니스상하의 | 90000 | 3 | 270000 | 2024-08-29 11:42:44 |
| 13 | 이시연 | 폴라 티셔츠 | 15000 | 2 | 30000 | 2024-08-29 15:06:20 |
| 14 | 채송화 | 에이 나시 | 9000 | 5 | 45000 | 2024-08-29 15:06:20 |
| 15 | 선아영 | 롱 패팅 점퍼 | 47400 | 1 | 47400 | 2024-08-29 15:06:21 |
| 16 | 홍길동 | 폴라 티셔츠 | 15000 | 10 | 150000 | 2024-09-02 16:48:51 |
+-----+----------+-------------------+-------+--------+--------+---------------------+
15 rows in set (0.00 sec)
mysql> select * from product;
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| num | type_a | type_b | name | price | amount | sale_amount | register_date |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| 1 | 티셔츠 | 긴소매 | 폴라 티셔츠 | 15000 | 95 | 5 | 2023-10-15 00:00:00 |
| 2 | 티셔츠 | 긴소매 | 크롭 티셔츠 | 10000 | 100 | 0 | 2023-10-15 00:00:00 |
| 5 | 패션운동복 | 트레이닝상의 | 피트니스상의 | 30000 | 100 | 0 | 2023-12-05 00:00:00 |
| 6 | 패션운동복 | 트레이닝하의 | 피트니스하의 | 50000 | 100 | 0 | 2023-12-06 00:00:00 |
| 7 | 패션운동복 | 트레이닝세트 | 피트니스상하의 | 90000 | 100 | 0 | 2023-12-07 00:00:00 |
| 8 | 아우터 | 재킷 | 양면 롱 후리스 자켓 | 23300 | 100 | 0 | 2023-11-05 00:00:00 |
| 9 | 아우터 | 코트 | 양털 겨울 코트 | 50000 | 100 | 0 | 2023-10-31 00:00:00 |
| 10 | 아우터 | 코트 | 트렌치 코트 | 40000 | 100 | 0 | 2023-10-31 00:00:00 |
| 11 | 아우터 | 패딩 | 롱 패팅 점퍼 | 47400 | 100 | 0 | 2023-11-01 00:00:00 |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
📢실습(3)
--buy 테이블의 데이터를 업데이트 하면amount와 sale_amount 값 변경하는 트리거 작성
drop trigger if exists update_buy;
delimiter $$
create trigger update_buy after update on buy
for each row
begin
update product set
amount = amount + old.amount,
sale_amount = sale_amount - old.amount,
amount = amount - new.amount,
sale_amount = sale_amount + new.amount
where name = new.product_name;
end $$
delimiter ;
update buy set
amount = 10
where num = 16;
mysql> select * from buy;
+-----+----------+-------------------+-------+--------+--------+---------------------+
| num | customer | product_name | price | amount | total | buy_date |
+-----+----------+-------------------+-------+--------+--------+---------------------+
| 2 | 홍길순 | 크롭 티셔츠 | 10000 | 3 | 30000 | 2024-08-29 10:58:52 |
| 3 | 김기태 | 순면라운드 반팔티 | 15900 | 1 | 15900 | 2024-08-29 11:02:56 |
| 4 | 홍기원 | 에이 나시 | 9000 | 3 | 27000 | 2024-08-29 11:02:56 |
| 5 | 하남일 | 피트니스상의 | 30000 | 20 | 600000 | 2024-08-29 11:02:56 |
| 6 | 송슬기 | 피트니스하의 | 50000 | 3 | 150000 | 2024-08-29 11:02:56 |
| 7 | 조아람 | 피트니스상하의 | 90000 | 2 | 180000 | 2024-08-29 11:02:57 |
| 8 | 조미란 | 순면라운드 반팔티 | 15900 | 4 | 63600 | 2024-08-29 11:04:30 |
| 9 | 전한결 | 피트니스상의 | 30000 | 2 | 60000 | 2024-08-29 11:05:37 |
| 10 | 장우람 | 피트니스하의 | 50000 | 1 | 50000 | 2024-08-29 11:05:37 |
| 11 | 고담비 | 피트니스상하의 | 90000 | 5 | 450000 | 2024-08-29 11:05:38 |
| 12 | 고윤서 | 피트니스상하의 | 90000 | 3 | 270000 | 2024-08-29 11:42:44 |
| 13 | 이시연 | 폴라 티셔츠 | 15000 | 2 | 30000 | 2024-08-29 15:06:20 |
| 14 | 채송화 | 에이 나시 | 9000 | 5 | 45000 | 2024-08-29 15:06:20 |
| 15 | 선아영 | 롱 패팅 점퍼 | 47400 | 1 | 47400 | 2024-08-29 15:06:21 |
| 16 | 홍길동 | 폴라 티셔츠 | 15000 | 10 | 150000 | 2024-09-02 16:48:51 |
+-----+----------+-------------------+-------+--------+--------+---------------------+
15 rows in set (0.00 sec)
mysql> select * from product;
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| num | type_a | type_b | name | price | amount | sale_amount | register_date |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| 1 | 티셔츠 | 긴소매 | 폴라 티셔츠 | 15000 | 95 | 5 | 2023-10-15 00:00:00 |
| 2 | 티셔츠 | 긴소매 | 크롭 티셔츠 | 10000 | 100 | 0 | 2023-10-15 00:00:00 |
| 5 | 패션운동복 | 트레이닝상의 | 피트니스상의 | 30000 | 87 | 13 | 2023-12-05 00:00:00 |
| 6 | 패션운동복 | 트레이닝하의 | 피트니스하의 | 50000 | 100 | 0 | 2023-12-06 00:00:00 |
| 7 | 패션운동복 | 트레이닝세트 | 피트니스상하의 | 90000 | 100 | 0 | 2023-12-07 00:00:00 |
| 8 | 아우터 | 재킷 | 양면 롱 후리스 자켓 | 23300 | 100 | 0 | 2023-11-05 00:00:00 |
| 9 | 아우터 | 코트 | 양털 겨울 코트 | 50000 | 100 | 0 | 2023-10-31 00:00:00 |
| 10 | 아우터 | 코트 | 트렌치 코트 | 40000 | 100 | 0 | 2023-10-31 00:00:00 |
| 11 | 아우터 | 패딩 | 롱 패팅 점퍼 | 47400 | 100 | 0 | 2023-11-01 00:00:00 |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
update buy set
amount = amount + 10
where num = 16;
mysql> select * from buy;
+-----+----------+-------------------+-------+--------+--------+---------------------+
| num | customer | product_name | price | amount | total | buy_date |
+-----+----------+-------------------+-------+--------+--------+---------------------+
| 2 | 홍길순 | 크롭 티셔츠 | 10000 | 3 | 30000 | 2024-08-29 10:58:52 |
| 3 | 김기태 | 순면라운드 반팔티 | 15900 | 1 | 15900 | 2024-08-29 11:02:56 |
| 4 | 홍기원 | 에이 나시 | 9000 | 3 | 27000 | 2024-08-29 11:02:56 |
| 5 | 하남일 | 피트니스상의 | 30000 | 20 | 600000 | 2024-08-29 11:02:56 |
| 6 | 송슬기 | 피트니스하의 | 50000 | 3 | 150000 | 2024-08-29 11:02:56 |
| 7 | 조아람 | 피트니스상하의 | 90000 | 2 | 180000 | 2024-08-29 11:02:57 |
| 8 | 조미란 | 순면라운드 반팔티 | 15900 | 4 | 63600 | 2024-08-29 11:04:30 |
| 9 | 전한결 | 피트니스상의 | 30000 | 2 | 60000 | 2024-08-29 11:05:37 |
| 10 | 장우람 | 피트니스하의 | 50000 | 1 | 50000 | 2024-08-29 11:05:37 |
| 11 | 고담비 | 피트니스상하의 | 90000 | 5 | 450000 | 2024-08-29 11:05:38 |
| 12 | 고윤서 | 피트니스상하의 | 90000 | 3 | 270000 | 2024-08-29 11:42:44 |
| 13 | 이시연 | 폴라 티셔츠 | 15000 | 2 | 30000 | 2024-08-29 15:06:20 |
| 14 | 채송화 | 에이 나시 | 9000 | 5 | 45000 | 2024-08-29 15:06:20 |
| 15 | 선아영 | 롱 패팅 점퍼 | 47400 | 1 | 47400 | 2024-08-29 15:06:21 |
| 16 | 홍길동 | 폴라 티셔츠 | 15000 | 20 | 300000 | 2024-09-02 16:48:51 |
+-----+----------+-------------------+-------+--------+--------+---------------------+
15 rows in set (0.00 sec)
mysql> select * from product;
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| num | type_a | type_b | name | price | amount | sale_amount | register_date |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+
| 1 | 티셔츠 | 긴소매 | 폴라 티셔츠 | 15000 | 85 | 15 | 2023-10-15 00:00:00 |
| 2 | 티셔츠 | 긴소매 | 크롭 티셔츠 | 10000 | 100 | 0 | 2023-10-15 00:00:00 |
| 5 | 패션운동복 | 트레이닝상의 | 피트니스상의 | 30000 | 87 | 13 | 2023-12-05 00:00:00 |
| 6 | 패션운동복 | 트레이닝하의 | 피트니스하의 | 50000 | 100 | 0 | 2023-12-06 00:00:00 |
| 7 | 패션운동복 | 트레이닝세트 | 피트니스상하의 | 90000 | 100 | 0 | 2023-12-07 00:00:00 |
| 8 | 아우터 | 재킷 | 양면 롱 후리스 자켓 | 23300 | 100 | 0 | 2023-11-05 00:00:00 |
| 9 | 아우터 | 코트 | 양털 겨울 코트 | 50000 | 100 | 0 | 2023-10-31 00:00:00 |
| 10 | 아우터 | 코트 | 트렌치 코트 | 40000 | 100 | 0 | 2023-10-31 00:00:00 |
| 11 | 아우터 | 패딩 | 롱 패팅 점퍼 | 47400 | 100 | 0 | 2023-11-01 00:00:00 |
+-----+------------+--------------+---------------------+-------+--------+-------------+---------------------+'백엔드 > MySQL' 카테고리의 다른 글
| MySQL Procedure (2) | 2024.09.03 |
|---|---|
| MySQL Trigger(2) (0) | 2024.09.03 |
| MySQL LEFT JOIN 활용 (0) | 2024.09.03 |
| MySQL VIEW 생성 (0) | 2024.09.03 |
| MySQL INDEX (0) | 2024.09.03 |