- SQL
- aligoapi
- java error
- docker
- Rp2๊ธฐ
- ์์คํ ์ํํธ์จ์ด
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- Data Structure
- datagrip
- spring์ผ๋ก https ์ ์ฉ
- GIT
- @CreatedDate
- DATABASE
- MethodArgumentNotValidException
- SSL
- merge sort
- C++
- Spring
- spring ์์ ๋ก๊ทธ์ธ
- RP 2๊ธฐ
- OpenAPI
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- Java
- node js
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- mysql
- MAKE US
- Quick Sort
- Unity
YS's develop story
MySQL ์ต๊ทผ์ ์ถ๊ฐ๋ ๊ฐ ์ธ๋ฑ์ค ์ฐพ๊ธฐ LAST_INSERT_ID() ํจ์ ํ์ฉ ๋ณธ๋ฌธ
MySQL ์ต๊ทผ์ ์ถ๊ฐ๋ ๊ฐ ์ธ๋ฑ์ค ์ฐพ๊ธฐ LAST_INSERT_ID() ํจ์ ํ์ฉ
Yusang 2021. 6. 21. 09:59๐จ๐ป ์ต๊ทผ์ ์ถ๊ฐ๋ ๊ฐ์ ์ธ๋ฑ์ค ์ฐพ๊ธฐ, LAST_INSERT_ID() ํจ์ ํ์ฉ
โ Problem
๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ๊ฐ ํํ๋ค์ ๊ตฌ๋ถํ ์ ์๊ฒ ์ ์ฅํ๊ธฐ ์ํด ํ ์ด๋ธ์ ์ค๊ณํ ๋
ํ ์ด๋ธ์ PK๋ฅผ Auto_Increment๋ก ์ค์ ํ๋ ๊ฒฝ์ฐ๋ ๋งค์ฐ ๋ง์ต๋๋ค.
์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด Reviews๋ผ๋ ํ ์ด๋ธ์ ๋ฆฌ๋ทฐ๋ฅผ ๋ฑ๋กํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค.
INSERT INTO Reviews(hospitalIdx, userIdx, review, reviewScore) VALUES (?,?,?,?);
์ด ์ํฉ์์ ํน์ ์ฌ์ฉ์๊ฐ ๋ฑ๋กํ ๋ฆฌ๋ทฐ๋ฅผ ์์ ํ๊ธฐ ์ํด์๋ Reviewsํ ์ด๋ธ์์
์ฌ์ฉ์๊ฐ ์์ฑํ ๋ฆฌ๋ทฐ๊ฐ ๋ช ๋ฒ์งธ ํํ์ธ์ง ์์์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฆฌ๋ทฐ ํ ์ด๋ธ์ PK๋ฅผ ์์์ผ ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด ๋ฆฌ๋ทฐ ํ ์ด๋ธ์ PK๋ฅผ ์ฐพ์ผ๋ฉด ๋ ๊น์?
SELECT reviewIdx
FROM Reviews
WHERE hospitalIdx = ? AND userIdx = ? AND review = ? AND reviewScore = ?
๋ฌผ๋ก ์ด๋ฐ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฐพ์ ์ ์๊ฒ ์ง๋ง ์ด๋ ์ฟผ๋ฆฌ๋ฅผ ์๋กญ๊ฒ ๋ ์ง์ผํ๊ธฐ์ ๋นํจ์จ์ ์ด๊ณ
์ฌ์ฉ์๊ฐ ๋๊ฐ์ ๋ณ์์ ๋๊ฐ์ ๋ฆฌ๋ทฐ์ ๋๊ฐ์ ์ ์๋ฅผ ์์ฑํ๋ค๊ณ ํ๋ฉด ๋ ์ด์๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค.
๐ Solution
๊ทธ๋์ ์ด๋ฐ ๊ฒฝ์ฐ์ LAST_INSERT_ID() ํ์ฉํ๊ฒ ๋ฉ๋๋ค.
์ด๋ ํ ์ด๋ธ์ ๋ง์ง๋ง์ ์ ๋ ฅ๋ Auto_Increment ๊ฐ์ ๋ฆฌํดํ๊ฒ ๋ฉ๋๋ค.
์ฆ ์ด ๊ฒฝ์ฐ์์ ๋ง์ง๋ง์ ์์ฑ๋ reviewIdx๋ฅผ ๋งค์ฐ ์ฝ๊ฒ ํ์ธํ ์ ์๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ก ํ์ธํด ๋ด ์๋ค.
์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด "์ต๊ณ "๋ผ๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ฑ๋กํ์ต๋๋ค.
์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ 10์ด๋ผ๋ PK๊ฐ์ ๊ฐ์ง๋ฉฐ reviewIdx์ปฌ๋ผ์ ์ ์ฅ๋์๋ค์.
INSERT INTO Reviews(hospitalIdx, userIdx, review, reviewScore) VALUES (1,1,"์ต๊ณ ",3.7);
์๋์ ๊ฐ์ด LAST_INSERT_ID() ํจ์๋ฅผ ํตํด ๋ง์ง๋ง์ ์ ๋ ฅ๋ Auto_Increment ๋ฆฌํดํ๊ณ ์์์ ํ์ธํ ์ ์์ต๋๋ค.
SELECT LAST_INSERT_ID() AS reviewIdx;
'Database > MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MySQL ์๊ฐ์ฐจ์ด ๊ณ์ฐํ๊ธฐ (TIMESTAMPDIFF ํจ์) (0) | 2021.08.23 |
---|---|
MySQL ์ฌ๋ฌ๊ฐ์ ๋ฐ์ดํฐ ํ๋ฒ์ ์ ์ฅํ๊ธฐ (Node js, mysql2 promise) (0) | 2021.07.01 |
MySQL ์์ผ์ ๊ตฌํ๋ ํจ์ WEEKDAY (0) | 2021.06.16 |
[1822] Failed to add the foreign key constraint MySQL์๋ฌ (0) | 2021.05.16 |
MySQL ) ์ค๋ณต๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ฑฐํ๋ distinct (0) | 2021.03.09 |