Skip to content

Commit f6b33b1

Browse files
committed
fix: VALUES 함수를 별칭 방식으로 수정
1 parent 00b362a commit f6b33b1

File tree

2 files changed

+153
-150
lines changed

2 files changed

+153
-150
lines changed
Lines changed: 106 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,112 +1,116 @@
1-
-- member 테이블: PK(id)가 중복될 경우, 나머지 컬럼을 스크립트의 값으로 업데이트합니다.
21
INSERT INTO member (id, social_id, nickname, phone_number, interest_area, opt_in_marketing)
3-
VALUES (1, 123456789, '이승로', '01012345678', 'GANGNAM', true),
4-
(2, 987654321, '이충안', '01087654321', 'SEOCHO', false),
5-
(3, 456789123, '장수빈', '01045678912', 'SONGPA', true),
6-
(4, 789123456, '서준환', '01078912345', 'MAPO', true),
7-
(5, 321251287, '신민선', '01034574568', 'GANGSEO', false),
8-
(6, 324569987, '박희수', '01043609998', 'SEODAEMUN', false),
9-
(7, 323487985, '하아얀', '01065083298', 'SEONGDONG', false)
10-
ON DUPLICATE KEY UPDATE social_id = VALUES(social_id),
11-
nickname = VALUES(nickname),
12-
phone_number = VALUES(phone_number),
13-
interest_area = VALUES(interest_area),
14-
opt_in_marketing = VALUES(opt_in_marketing);
2+
VALUES (1, 123456789, '이승로', '01012345678', 'GANGNAM', true),
3+
(2, 987654321, '이충안', '01087654321', 'SEOCHO', false),
4+
(3, 456789123, '장수빈', '01045678912', 'SONGPA', true),
5+
(4, 789123456, '서준환', '01078912345', 'MAPO', true),
6+
(5, 321251287, '신민선', '01034574568', 'GANGSEO', false),
7+
(6, 324569987, '박희수', '01043609998', 'SEODAEMUN', false),
8+
(7, 323487985, '하아얀', '01065083298', 'SEONGDONG', false) AS new
9+
ON DUPLICATE KEY UPDATE social_id = new.social_id,
10+
nickname = new.nickname,
11+
phone_number = new.phone_number,
12+
interest_area = new.interest_area,
13+
opt_in_marketing = new.opt_in_marketing;
1514

1615

17-
-- store 테이블: PK(id)가 중복될 경우, 나머지 컬럼을 스크립트의 값으로 업데이트합니다.
1816
INSERT INTO store (id, name, category, latitude, longitude, address, phone_number, image_url, open_time, close_time,
1917
introduction, interest_area)
20-
VALUES (1, '맛있는 한식당', '한식', 37.5665, 126.9780, '서울특별시 강남구 테헤란로 123', '0212345678', 'https://example.com/store1.jpg',
21-
'09:00:00', '22:00:00', '전통 한식의 맛을 느낄 수 있는 곳입니다.', 'GANGNAM'),
22-
(2, '신선한 중식당', '중식', 37.5645, 126.9770, '서울특별시 서초구 서초대로 456', '0287654321', 'https://example.com/store2.jpg',
23-
'11:00:00', '21:00:00', '정통 중국 요리를 맛볼 수 있습니다.', 'SEOCHO'),
24-
(3, '일본 정통 스시', '일식', 37.5685, 126.9790, '서울특별시 송파구 올림픽로 789', '0245678912', 'https://example.com/store3.jpg',
25-
'11:30:00', '22:30:00', '신선한 회와 정통 스시를 즐기세요.', 'SONGPA'),
26-
(4, '이탈리아 파스타', '양식', 37.5625, 126.9760, '서울특별시 마포구 홍대로 321', '0278912345', 'https://example.com/store4.jpg',
27-
'12:00:00', '23:00:00', '정통 이탈리아 파스타와 피자를 만나보세요.', 'MAPO'),
28-
(5, '커피향 가득한 카페', '카페', 37.5705, 126.9800, '서울특별시 종로구 종로 654', '0232165498', 'https://example.com/store5.jpg',
29-
'07:00:00', '23:59:59', '아늑한 분위기에서 커피를 즐기세요.', 'JONGNO'),
30-
(6, '달콤한 디저트샵', '디저트', 37.5640, 126.9775, '서울특별시 강남구 강남대로 987', '0211111111', 'https://example.com/store6.jpg',
31-
'10:00:00', '21:00:00', '다양한 디저트와 케이크를 만나보세요.', 'GANGNAM'),
32-
(7, '분위기 좋은 술집', '술집', 37.5660, 126.9785, '서울특별시 서초구 서초대로 147', '0222222222', 'https://example.com/store7.jpg',
33-
'18:00:00', '02:00:00', '분위기 좋은 술집에서 즐거운 시간을 보내세요.', 'SEOCHO'),
34-
(8, '빠른 패스트푸드', '패스트푸드', 37.5680, 126.9795, '서울특별시 송파구 올림픽로 258', '0233333333', 'https://example.com/store8.jpg',
35-
'06:00:00', '23:59:59', '빠르고 맛있는 패스트푸드를 즐기세요.', 'SONGPA'),
36-
(9, '편리한 편의점', '편의점', 37.5620, 126.9765, '서울특별시 마포구 홍대로 369', '0244444444', 'https://example.com/store9.jpg',
37-
'00:00:00', '23:59:59', '24시간 편리한 편의점입니다.', 'MAPO'),
38-
(10, '특별한 기타매장', '기타', 37.5700, 126.9805, '서울특별시 종로구 종로 741', '0255555555', 'https://example.com/store10.jpg',
39-
'09:00:00', '18:00:00', '특별한 상품들을 만나보세요.', 'JONGNO')
40-
ON DUPLICATE KEY UPDATE name = VALUES(name),
41-
category = VALUES(category),
42-
latitude = VALUES(latitude),
43-
longitude = VALUES(longitude),
44-
address = VALUES(address),
45-
phone_number = VALUES(phone_number),
46-
image_url = VALUES(image_url),
47-
open_time = VALUES(open_time),
48-
close_time = VALUES(close_time),
49-
introduction = VALUES(introduction),
50-
interest_area = VALUES(interest_area);
18+
VALUES (1, '맛있는 한식당', '한식', 37.5665, 126.9780, '서울특별시 강남구 테헤란로 123', '0212345678', 'https://example.com/store1.jpg',
19+
'09:00:00', '22:00:00', '전통 한식의 맛을 느낄 수 있는 곳입니다.', 'GANGNAM'),
20+
(2, '신선한 중식당', '중식', 37.5645, 126.9770, '서울특별시 서초구 서초대로 456', '0287654321', 'https://example.com/store2.jpg',
21+
'11:00:00', '21:00:00', '정통 중국 요리를 맛볼 수 있습니다.', 'SEOCHO'),
22+
(3, '일본 정통 스시', '일식', 37.5685, 126.9790, '서울특별시 송파구 올림픽로 789', '0245678912',
23+
'https://example.com/store3.jpg',
24+
'11:30:00', '22:30:00', '신선한 회와 정통 스시를 즐기세요.', 'SONGPA'),
25+
(4, '이탈리아 파스타', '양식', 37.5625, 126.9760, '서울특별시 마포구 홍대로 321', '0278912345', 'https://example.com/store4.jpg',
26+
'12:00:00', '23:00:00', '정통 이탈리아 파스타와 피자를 만나보세요.', 'MAPO'),
27+
(5, '커피향 가득한 카페', '카페', 37.5705, 126.9800, '서울특별시 종로구 종로 654', '0232165498',
28+
'https://example.com/store5.jpg',
29+
'07:00:00', '23:59:59', '아늑한 분위기에서 커피를 즐기세요.', 'JONGNO'),
30+
(6, '달콤한 디저트샵', '디저트', 37.5640, 126.9775, '서울특별시 강남구 강남대로 987', '0211111111',
31+
'https://example.com/store6.jpg',
32+
'10:00:00', '21:00:00', '다양한 디저트와 케이크를 만나보세요.', 'GANGNAM'),
33+
(7, '분위기 좋은 술집', '술집', 37.5660, 126.9785, '서울특별시 서초구 서초대로 147', '0222222222',
34+
'https://example.com/store7.jpg',
35+
'18:00:00', '02:00:00', '분위기 좋은 술집에서 즐거운 시간을 보내세요.', 'SEOCHO'),
36+
(8, '빠른 패스트푸드', '패스트푸드', 37.5680, 126.9795, '서울특별시 송파구 올림픽로 258', '0233333333',
37+
'https://example.com/store8.jpg',
38+
'06:00:00', '23:59:59', '빠르고 맛있는 패스트푸드를 즐기세요.', 'SONGPA'),
39+
(9, '편리한 편의점', '편의점', 37.5620, 126.9765, '서울특별시 마포구 홍대로 369', '0244444444', 'https://example.com/store9.jpg',
40+
'00:00:00', '23:59:59', '24시간 편리한 편의점입니다.', 'MAPO'),
41+
(10, '특별한 기타매장', '기타', 37.5700, 126.9805, '서울특별시 종로구 종로 741', '0255555555',
42+
'https://example.com/store10.jpg',
43+
'09:00:00', '18:00:00', '특별한 상품들을 만나보세요.', 'JONGNO') AS new
44+
ON DUPLICATE KEY UPDATE name = new.name,
45+
category = new.category,
46+
latitude = new.latitude,
47+
longitude = new.longitude,
48+
address = new.address,
49+
phone_number = new.phone_number,
50+
image_url = new.image_url,
51+
open_time = new.open_time,
52+
close_time = new.close_time,
53+
introduction = new.introduction,
54+
interest_area = new.interest_area;
55+
5156

52-
-- menu 테이블: PK(id)가 중복될 경우, 나머지 컬럼을 스크립트의 값으로 업데이트합니다.
5357
INSERT INTO menu (id, store_id, name, description, price, discount_price, discount_start_time, discount_end_time,
5458
image_url)
55-
VALUES (1, 1, '불고기', '맛있는 불고기', 15000, 12000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
56-
'https://example.com/menu1.jpg'),
57-
(2, 1, '비빔밥', '신선한 채소가 들어간 비빔밥', 12000, NULL, NULL, NULL, 'https://example.com/menu2.jpg'),
58-
(3, 2, '짜장면', '정통 중국 짜장면', 8000, 6000, '2025-06-28 12:00:00', '2025-06-28 14:00:00',
59-
'https://example.com/menu3.jpg'),
60-
(4, 2, '탕수육', '바삭한 탕수육', 18000, NULL, NULL, NULL, 'https://example.com/menu4.jpg'),
61-
(5, 3, '초밥 세트', '신선한 회로 만든 초밥 세트', 25000, 20000, '2025-06-28 15:00:00', '2025-06-28 17:00:00',
62-
'https://example.com/menu5.jpg'),
63-
(6, 3, '우동', '따뜻한 우동', 12000, NULL, NULL, NULL, 'https://example.com/menu6.jpg'),
64-
(7, 4, '까르보나라', '정통 이탈리아 까르보나라', 18000, 15000, '2025-06-28 13:00:00', '2025-06-28 15:00:00',
65-
'https://example.com/menu7.jpg'),
66-
(8, 4, '마르게리타 피자', '신선한 모짜렐라 치즈 피자', 22000, NULL, NULL, NULL, 'https://example.com/menu8.jpg'),
67-
(9, 5, '아메리카노', '깊은 맛의 아메리카노', 4500, 3500, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
68-
'https://example.com/menu9.jpg'),
69-
(10, 5, '카페라떼', '부드러운 카페라떼', 5500, NULL, NULL, NULL, 'https://example.com/menu10.jpg'),
70-
(11, 6, '티라미수', '진한 커피향의 티라미수', 8000, 6000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
71-
'https://example.com/menu11.jpg'),
72-
(12, 6, '초코케이크', '달콤한 초코케이크', 7000, NULL, NULL, NULL, 'https://example.com/menu12.jpg'),
73-
(13, 7, '소주', '깔끔한 소주', 4000, 3000, '2025-06-28 20:00:00', '2025-06-28 22:00:00',
74-
'https://example.com/menu13.jpg'),
75-
(14, 7, '맥주', '시원한 맥주', 6000, NULL, NULL, NULL, 'https://example.com/menu14.jpg'),
76-
(15, 8, '햄버거 세트', '맛있는 햄버거 세트', 12000, 9000, '2025-06-28 11:00:00', '2025-06-28 13:00:00',
77-
'https://example.com/menu15.jpg'),
78-
(16, 8, '치킨', '바삭한 치킨', 18000, NULL, NULL, NULL, 'https://example.com/menu16.jpg'),
79-
(17, 9, '삼각김밥', '맛있는 삼각김밥', 1500, 1200, '2025-06-28 22:00:00', '2025-06-29 06:00:00',
80-
'https://example.com/menu17.jpg'),
81-
(18, 9, '커피', '편의점 커피', 1500, NULL, NULL, NULL, 'https://example.com/menu18.jpg'),
82-
(19, 10, '특별상품A', '특별한 상품 A', 50000, 40000, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
83-
'https://example.com/menu19.jpg'),
84-
(20, 10, '특별상품B', '특별한 상품 B', 30000, NULL, NULL, NULL, 'https://example.com/menu20.jpg')
85-
ON DUPLICATE KEY UPDATE store_id = VALUES(store_id),
86-
name = VALUES(name),
87-
description = VALUES(description),
88-
price = VALUES(price),
89-
discount_price = VALUES(discount_price),
90-
discount_start_time = VALUES(discount_start_time),
91-
discount_end_time = VALUES(discount_end_time),
92-
image_url = VALUES(image_url);
59+
VALUES (1, 1, '불고기', '맛있는 불고기', 15000, 12000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
60+
'https://example.com/menu1.jpg'),
61+
(2, 1, '비빔밥', '신선한 채소가 들어간 비빔밥', 12000, NULL, NULL, NULL, 'https://example.com/menu2.jpg'),
62+
(3, 2, '짜장면', '정통 중국 짜장면', 8000, 6000, '2025-06-28 12:00:00', '2025-06-28 14:00:00',
63+
'https://example.com/menu3.jpg'),
64+
(4, 2, '탕수육', '바삭한 탕수육', 18000, NULL, NULL, NULL, 'https://example.com/menu4.jpg'),
65+
(5, 3, '초밥 세트', '신선한 회로 만든 초밥 세트', 25000, 20000, '2025-06-28 15:00:00', '2025-06-28 17:00:00',
66+
'https://example.com/menu5.jpg'),
67+
(6, 3, '우동', '따뜻한 우동', 12000, NULL, NULL, NULL, 'https://example.com/menu6.jpg'),
68+
(7, 4, '까르보나라', '정통 이탈리아 까르보나라', 18000, 15000, '2025-06-28 13:00:00', '2025-06-28 15:00:00',
69+
'https://example.com/menu7.jpg'),
70+
(8, 4, '마르게리타 피자', '신선한 모짜렐라 치즈 피자', 22000, NULL, NULL, NULL, 'https://example.com/menu8.jpg'),
71+
(9, 5, '아메리카노', '깊은 맛의 아메리카노', 4500, 3500, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
72+
'https://example.com/menu9.jpg'),
73+
(10, 5, '카페라떼', '부드러운 카페라떼', 5500, NULL, NULL, NULL, 'https://example.com/menu10.jpg'),
74+
(11, 6, '티라미수', '진한 커피향의 티라미수', 8000, 6000, '2025-06-28 14:00:00', '2025-06-28 16:00:00',
75+
'https://example.com/menu11.jpg'),
76+
(12, 6, '초코케이크', '달콤한 초코케이크', 7000, NULL, NULL, NULL, 'https://example.com/menu12.jpg'),
77+
(13, 7, '소주', '깔끔한 소주', 4000, 3000, '2025-06-28 20:00:00', '2025-06-28 22:00:00',
78+
'https://example.com/menu13.jpg'),
79+
(14, 7, '맥주', '시원한 맥주', 6000, NULL, NULL, NULL, 'https://example.com/menu14.jpg'),
80+
(15, 8, '햄버거 세트', '맛있는 햄버거 세트', 12000, 9000, '2025-06-28 11:00:00', '2025-06-28 13:00:00',
81+
'https://example.com/menu15.jpg'),
82+
(16, 8, '치킨', '바삭한 치킨', 18000, NULL, NULL, NULL, 'https://example.com/menu16.jpg'),
83+
(17, 9, '삼각김밥', '맛있는 삼각김밥', 1500, 1200, '2025-06-28 22:00:00', '2025-06-29 06:00:00',
84+
'https://example.com/menu17.jpg'),
85+
(18, 9, '커피', '편의점 커피', 1500, NULL, NULL, NULL, 'https://example.com/menu18.jpg'),
86+
(19, 10, '특별상품A', '특별한 상품 A', 50000, 40000, '2025-06-28 10:00:00', '2025-06-28 12:00:00',
87+
'https://example.com/menu19.jpg'),
88+
(20, 10, '특별상품B', '특별한 상품 B', 30000, NULL, NULL, NULL, 'https://example.com/menu20.jpg') AS new
89+
ON DUPLICATE KEY UPDATE store_id = new.store_id,
90+
name = new.name,
91+
description = new.description,
92+
price = new.price,
93+
discount_price = new.discount_price,
94+
discount_start_time = new.discount_start_time,
95+
discount_end_time = new.discount_end_time,
96+
image_url = new.image_url;
97+
9398

94-
-- bookmark 테이블: PK(id)가 중복될 경우, 나머지 컬럼을 스크립트의 값으로 업데이트합니다.
9599
INSERT INTO bookmark (id, member_id, store_id)
96-
VALUES (1, 1, 1),
97-
(2, 1, 3),
98-
(3, 2, 2),
99-
(4, 2, 5),
100-
(5, 3, 4),
101-
(6, 3, 6),
102-
(7, 4, 7),
103-
(8, 4, 9),
104-
(9, 5, 8),
105-
(10, 5, 10),
106-
(11, 1, 5),
107-
(12, 2, 1),
108-
(13, 3, 7),
109-
(14, 4, 2),
110-
(15, 5, 4)
111-
ON DUPLICATE KEY UPDATE member_id = VALUES(member_id),
112-
store_id = VALUES(store_id);
100+
VALUES (1, 1, 1),
101+
(2, 1, 3),
102+
(3, 2, 2),
103+
(4, 2, 5),
104+
(5, 3, 4),
105+
(6, 3, 6),
106+
(7, 4, 7),
107+
(8, 4, 9),
108+
(9, 5, 8),
109+
(10, 5, 10),
110+
(11, 1, 5),
111+
(12, 2, 1),
112+
(13, 3, 7),
113+
(14, 4, 2),
114+
(15, 5, 4) AS new
115+
ON DUPLICATE KEY UPDATE member_id = new.member_id,
116+
store_id = new.store_id;

0 commit comments

Comments
 (0)