- aligoapi
- MethodArgumentNotValidException
- java error
- GIT
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- MAKE US
- Quick Sort
- Java
- datagrip
- merge sort
- node js
- Unity
- mysql
- SQL
- DATABASE
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- docker
- C++
- Data Structure
- RP 2๊ธฐ
- spring ์์ ๋ก๊ทธ์ธ
- OpenAPI
- ์์คํ ์ํํธ์จ์ด
- @CreatedDate
- Rp2๊ธฐ
- Spring
- SSL
- spring์ผ๋ก https ์ ์ฉ
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
๋ชฉ๋กmysql (28)
YS's develop story
JSP, Tomcat ํ์ฉํ์ฌ MySQL ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ ์๋ ์ฌ์ดํธ์์ MySQL Connector์ plaform independent ์ ํ ํ ๋ค์ด๋ก๋ํด์ค๋๋ค. MySQL :: Download Connector/J MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL Connector/J 8.0. dev.mysql.com ์ ๋ ํ๋ก์ ํธ์์ libํด๋๋ฅผ ๋ฐ๋ก ์์ฑํด์ ๋ค์ด๋ก๋ํ connector์ ํด๋์ ๋ฃ์ด์ฃผ์์ต๋๋ค. File - Project Structure Libraries ํด๋ฆญ ํ +๋ฅผ ๋๋ฌ ํด๋์ ๋ฃ์ด์ค mysql-connect.jar ํ์ผ์ ์ ..
โ Problem Insert๋ฌธ์ ํ์ฉํ์ฌ ํ ์ด๋ธ์ 1000๊ฐ๊ฐ ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? Insert๋ฌธ์ 1000๋ฒ ์คํํ๋ ๊ฑด ๋งค์ฐ ๋นํจ์จ์ ์ผ๋ก ๋ณด์ ๋๋ค. ๐ Solution Procedure์ ํ์ฉํ๋ฉด ๊ฐ์ ์ฟผ๋ฆฌ๋ฌธ์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ ์ ์์ต๋๋ค. Person์ด๋ผ๋ ํ ์ด๋ธ์ ์๋์ ๊ฐ์ด sql๋ฌธ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋ฃ์ ์ ์์ต๋๋ค. CREATE PROCEDURE loopInsert() BEGIN DECLARE i INT DEFAULT 1; WHILE i
๐ฅ MySQL ์๊ฐ ์ฐจ์ด ๊ณ์ฐํ๊ธฐ (TIMESTAMPDIFF ํจ์) โ Problem ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด ์๊ฐ ์ฐจ์ด๋ฅผ ํ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ฝ์๊ฐ 30๋ถ ์ ์๋ ์์ฝ์ ๋ถ๊ฐ๋ฅํ๋๋ก ๋ง์์ผ ํ๋ค๊ฑฐ๋ ํน์ ์ด๋ฒคํธ์ผ์ด ํ์ฌ๋ถํฐ ์ผ๋ง๋ ๋จ์๋์ง ๋ฑ๋ฑ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ ๊ฒ์ ๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์ด๋ป๊ฒ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํ ๊น์? ๐ ๐ Solution TIMESTAMPDIFF๋ผ๋ ํจ์๋ฅผ ํ์ฉํ๋ฉด ๋งค์ฐ ์ฝ๊ฒ ์๊ฐ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค. SELECT TIMESTAMPDIFF(HOUR,'2021-08-22 11:00','2021-08-22 14:00') AS dayCount; SELECT TIMESTAMPDIFF(์๊ฐ ๋จ์, '๋ ์ง 1', '๋ ์ง 2') AS ์ด๋ฆ; ์์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํตํด์ ..
์์ผ์ ๊ตฌํ๋ ํจ์ WEEKDAY ์์ ๊ฐ์ด User ํ ์ด๋ธ์ ์ ์ ๊ฐ ๊ฐ์ ํ ์๊ฐ์ด timestamp ํ์์ผ๋ก createdAt์ด๋ผ๋ ์ปฌ๋ผ์ ์ ์ฅ๋์ด ์์ต๋๋ค. SELECT CASE WEEKDAY(createdAt) WHEN '0' THEN '์' WHEN '1' THEN 'ํ' WHEN '2' THEN '์' WHEN '3' THEN '๋ชฉ' WHEN '4' THEN '๊ธ' WHEN '5' THEN 'ํ ' WHEN '6' THEN '์ผ' END AS makeDay FROM Users; ์ด ์ ๋ณด๋ฅผ ํตํด WEEKDAY ํจ์๋ฅผ ํ์ฉํ์ฌ ์์ ๊ฐ์ด ๋ ์ง๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค. ์คํ ๊ฒฐ๊ณผ ์ ๋๋ค. ์ด ๋ฐ์ดํฐ๋ ์์์ผ์ ์์ฑ๋์์์ ์ ์ ์์ต๋๋ค.
Foreign key๋ฅผ ์ค์ ํ๋ ค๊ณ ํ ์ด๋ธ์ ์์ ํ๋ ค๊ณ ํ ๋ ๋ฐ์ํ MySQL 1822 ์๋ฌ์ ๋๋ค. ์ด๋ Foreign key ์ ์ฝ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์์ ๋ ๋ฐ์ํ๋ ์๋ฌ์ ๋๋ค. Stack overflow์ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ด์ ๊ธฐ๋ก์ ํด๋๊ณ ์ ํ์ต๋๋ค. MySQL Error 1822: Failed to add foreign key constraint; missing index for contraint BUT index exists I am trying to add an foreign key to my flightschedule table but it fails, but I do not really know why. The foreign key should reference the txtAC_tag att..
ํธ๋์ญ์ ์ ์๋ฏธ ๋ฐ Node MySQL Transactions ์ ์ฉํด๋ณด๊ธฐ 3ํ๋ ์ ๊ณต ํ์๊ณผ๋ชฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค.. ๋งค์ฐ ์ค์ํ ๊ฐ๋ ์ธ Transactions์ ๋ํด ์์๋ด ์๋ค transaction์ ์ฌ๋ฌ ๊ฐ์ ์ฐ์๋ ์ฟผ๋ฆฌ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ ํ๋์ ์์ ์ฒ๋ผ ์๋ํด์ผ ํฉ๋๋ค. SQL standard๋ SQL ๋ฌธ์ด ์คํ๋ ๋ ํธ๋์ญ์ ์ด ์์์ ์ผ๋ก ์์๋๋๋ก ์ง์ ํด์ค๋๋ค. ํธ๋์ญ์ ์ ์๋์ ์์ ์ค ํ๋์ ์ํ๋ก ๋๋์ผ ํฉ๋๋ค. Commit work ํธ๋์ญ์ ์ด ์์๋ถํฐ ๋๋ ๋ ๋๊น์ง ์ํ๋์๋ ๋ชจ๋ ์ฟผ๋ฆฌ๋ฌธ๋ค์ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ตฌ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๊ฒ Rollback work ํธ๋์ญ์ ์ด ์์๋ถํฐ ๋๋ ๋๊น์ง ์ํ๋์๋ ์์ ๋ค์ ๋ชจ๋ ์ทจ์ํ๋ ๊ฒ ํธ๋์ญ์ ์ ์์์ฑ ์์ ํ ์คํ๋๊ฑฐ๋ (Commit) ๋ฐ์ํ์ง ์..
MySQL ์ค๋ณต๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ฑฐํ๋ distinct ์๋์ ๊ฐ์ด Community๋ผ๋ ํ ์ด๋ธ์ ๋ด๊ฐ ์์ฑํ ๊ธ๋ค์ ์ฑ ์ด๋ฆ๊ณผ ์ฑ ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅํ๋๋ก ์ฟผ๋ฆฌ๋ฅผ ์งฐ์ต๋๋ค. ํ์ง๋ง ๋ฌธ์ ์ ์ด ์์ต๋๋ค. 14๋ฒ ์ธ๋ฑ์ค์ ํด๋นํ๋ '๋ถ์ ์ถ์์ฐจ์ '์ ๊ด๋ จ๋ ๊ธ์ ๋ ๊ฐ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต๋ ์ถ๋ ฅ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค. select Community.bookIdx,bookName from Book left outer join Community on Community.bookIdx = Book.bookIdx where userIdx = ? and Community.status = 1 and Book.status =1; distinct๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ์ค๋ณต๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ๋ ฅํ ์ ์์ต๋๋ค. select distinc..
MySQL ) LIMIT์ ํ์ฉํ์ฌ ํ์ด์ง ์ฟผ๋ฆฌ ํ์ฉํ๊ธฐ ์๋์ ๊ฐ์ด Restaurant๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ํ ์๋์ ๊ฐ์ด Review๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ์๋์ ๊ฐ์ Area๋ผ๋ ํ ์ด๋ธ๋ ์์ต๋๋ค. ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ์๋น ์ด๋ฆ๊ณผ reviewCount, distance๋ฅผ ๋ณด์ฌ์ฃผ๊ฒ ๋ฉ๋๋ค. select restaurantName,ifnull(reviewCount, 0) reviewCount, round(6371 * acos(cos(radians(areaLatitude)) * cos(radians(restaurantLatitude)) * cos(radians(restaurantLongitude) - radians(areaLongitude)) + sin(radians(ar..
MySQL ) ๋ณ์์ ๊ฐ์ ํ ๋นํ์ฌ ๊ฐ๋ง๋ค ๋ค๋ฅด๊ฒ ์ ๋ ฌํ๋ ์ฟผ๋ฆฌ ์ง๊ธฐ. ์๋์ ๊ฐ์ด Restaurant๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ํ ์๋์ ๊ฐ์ด Review๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ์๋์ ๊ฐ์ Area๋ผ๋ ํ ์ด๋ธ๋ ์์ต๋๋ค. ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด ์๋น ์ด๋ฆ๊ณผ reviewCount, distance๋ฅผ ๋ณด์ฌ์ฃผ๊ฒ ๋ฉ๋๋ค. select restaurantName,ifnull(reviewCount, 0) reviewCount, round(6371 * acos(cos(radians(areaLatitude)) * cos(radians(restaurantLatitude)) * cos(radians(restaurantLongitude) - radians(areaLongitude)) + sin(ra..
MySQL ) left outer join ํ์ฉ, ifnull ํ์ฉ ์๋์ ๊ฐ์ด Restaurant๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ๋ํ ์๋์ ๊ฐ์ด Review๋ผ๋ ํ ์ด๋ธ์ด ์์ต๋๋ค. ์๋์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด ๊ฐ ์๋น์ ๋ฆฌ๋ทฐ์๊ฐ ๋ช ๊ฐ ์ธ์ง ์ถ๋ ฅํ ์ ์์ต๋๋ค. select restaurantName,reviewCount from Restaurant inner join (select restaurantId, count(*) as reviewCount from Review group by restaurantId) ReviewCount on Restaurant.restaurantId = ReviewCount.restaurantId ๋ฆฌ๋ทฐ์ ๊ฐ 0๊ฐ์ธ ์๋น๋ ๊ฐ์ด ์ถ๋ ฅํ๊ฒ ํ๋ ค๋ฉด null ๊ฐ๋ ํ์ ํ๋ left ..