๐ข DB์ ํด๋นํ๋ ๊ธ๋ค 29 Articles matched ๋ชฉ๋ก์ด ์์ต๋๋ค. [MySQL] ERROR 1118 (42000) : Row size too large (> 8126)... ERROR ERROR 1118 (42000) at line 3117: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline. ํด๋น ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํด๋น ํ ์ด๋ธ์ Row์ Size๊ฐ ๋๋ฌด ํฐ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด๋ ์์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ฃ์ ๋๋ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๋ ๋ฏ ๋ณด์ด๋๋ฐ์. ๋ง์ฝ ๋คํ๋ฅผ ๋ฐ์ด๋ฃ๋ ์์ ์์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ์์์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. 1. root๊ณ์ ์ ์.. [MySQL] ํน์ ํ ์ด๋ธ๋ง dump๋ฅผ ํ ์ ์์๊น? (how to backup specific table?) ์ด์์๋ฒ์ ์๋ ํ๊ฒฝ์ ๊ทธ๋๋ก ๋ก์ปฌ์ ๊ฐ์ ธ์์ ์ ์ง๋ณด์๋ฅผ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๊ทธ๋ด ๋ ์ด์์๋ฒ์ ์๋ DB์ ์ต์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์ Dump๋ฅผ ํด์ ๋ก์ปฌ์ ์๋ DB์ ๋ฎ์ด์์์ฃผ๋๋ฐ ์ด๋ฏธ ๋์ผํ ๊ตฌ์กฐ์ด๊ณ ํน์ ํ ์ด๋ธ์ ์ต์ ๋ฐ์ดํฐ๋ง ํ์ํ๋ค๋ฉด ์ด์์๋ฒ์ DB ์ ์ฒด๋ฅผ Dumpํ ํ์ ์์ด ํน์ ํ ์ด๋ธ๋ง Dumpํ์ฌ ๋ก์ปฌ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฐฉ๋ฒ $ mysqldump -u username -p DBname TableName > dump.sql ๊ฐ๋จํ์ง๋ง ๋ง์ ์ฐ๋ คํ๋ฉด ์๊ฐ์ด ์๋ ํญ์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐพ์ต๋๋ค. ๋ ์ด์ ๊น๋จน์ง ์๋๋ก ์ ๋ฆฌํด๋ก์๋ค! [MySQL] ํ์(์์) ์ํ์ค๋ก ์์(๋ถ๋ชจ) ์ํ์ค๋ฅผ ์ ๊ทผํ ์ ์์๊น? ์ข ์ข ๋๊ธ๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด ์๋ ํ์ด์ง๋ฅผ ๊ฐ๋ฐํ ๋๊ฐ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์ ๊ณ๊ธฐ๋ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ DB์์ ํ์ ์นดํ ๊ณ ๋ฆฌ ์ํ์ค ํ๋๋ก ๋ชจ๋ ์์ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ํ๋ฒ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ ์๊ฐ์ ๊ตฌ๊ธ๋ง์ ์์ํ๊ฒ ๋์๊ณ ์ข์ ๋ฐฉ๋ฒ์ ์ฐพ์์ ์ ๋ฆฌํ๊ณ ์ ํฌ์คํ ์ ํ๊ฒ ๋์์ต๋๋ค. WITH RECURSIVE (MySQL) WITH RECURSIVE TTR (TECHCATEID, ORD_LEVEL, TECHCATEPID) AS ( SELECT TECHCATEID, ORD_LEVEL, TECHCATEPID FROMTCD_TECHCATE_REL WHERE TECHCATEID = #{techcateid} UNION ALL SELECT R.TECHCATEID, R.ORD_LEVEL, R.TECHCATEPID FROMT.. MySQL IN ์ ์์ ์๋ ์์๋๋ก ์ ๋ ฌํ๊ธฐ SQL ์ฟผ๋ฆฌ๋ฅผ ์ง๋ค๋ณด๋ฉด ์ ๋ ฌ์ ๋ด ๋ง๋๋ก ํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ๋๋ ์ฟผ๋ฆฌ๋ ์ง์ง ๋ถ์กฑํ ํธ์ด๋ผ ๊ตฌ๊ธ๋ง์ ๋ง์ด ํ๋ ํธ์ด์์. ์ด๋ฒ์๋ ๊ตฌ๊ธ๋งํ๋ค๊ฐ ์ด๋ ๊ฒ๋ ๋๋๊ตฌ๋ ๊นจ๋ฌ์์ ์ ๋ฆฌํด๋์ผ๋ ค๊ณ ํด์. ์ ๋ MySQL์ด๋ MariaDB๋ฅผ ๋ง์ด ์ฌ์ฉํ๋๋ฐ ๋์ ์ฐจ์ด๋ ํ์ฌ๋ก์ ๊ฑฐ์ ์๋ค๊ณ ๋ณด๋ฉด ๋ผ์. ์ํฉ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ IN ๊ตฌ๋ฌธ ์์ PRIMARY KEY ๊ฐ์ ๋์ดํ์ฌ ํด๋นํ๋ ๋ฐ์ดํฐ๋ง ํํฐ๋งํ๋ ์์ด์์. ๊ทธ๋ฐ๋ฐ ๊ฐ์ ธ์๋๊ณ ๋ณด๋ ๋ด๊ฐ ์ํ๋ ์ ๋ ฌ ์์๋ IN ๊ตฌ๋ฌธ ์์ PRIMARY KEY์ ์์์ธ๋ฐ ์ด๊ฒ ์๋์ผ๋ก PRIMARY KEY๊ฐ์ผ๋ก ์ ๋ ฌ์ด ๋์ด ๋์ค๋๊ฒ ๋๋ฌธ์ View ์์ญ์ ์์๊ณผ๋ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์์ด์. ์ํฉ SELECT * FROM TABLE WHERE KEY IN (2, 1, 3) .. [MySQL] EXPLAIN ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌ ์ต์ ํ EXPLAIN ๋ช ๋ น๋ฌธ์ MySQL์ด SELECT ๋ช ๋ น๋ฌธ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํ ์๋จ์ด๋ค. EXPLAIN ํ ์ด๋ธ๋ช ์ DESCRIBE ํ ์ด๋ธ๋ช ๋๋ SHOW COLUMS FROM ํ ์ด๋ธ๋ช ๊ณผ ๊ฐ์ ์๋ฏธ์ด๋ค. EXPLAIN์ SELECT ๋ช ๋ น๋ฌธ์์ ์ฌ์ฉ๋ ๊ฐ ํ ์ด๋ธ ์ ๋ณด๋ฅผ ๋ฆฌํดํ๋๋ฐ MySQL์ด ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ ์ฝ์ ์ ์๋๋ก ๊ฒฐ๊ณผ๋ฌผ ์์ ํ ์ด๋ธ๋ค์ด ๋ชฉ๋ก์ผ๋ก ์ ๋ฆฌ ๋๋ค. EXTENDED ํค์๋๊ฐ ์ฌ์ฉ๋๋ฉด, EXPLAIN์ EXPLAIN ๋ช ๋ น๋ฌธ ๋ค์์ SHOW WARNINGS ๋ช ๋ น๋ฌธ์ ์ ๋ ฅํด์ ๋ณผ ์ ์๋ ๊ธฐํ ์ ๋ณด๋ฅผ ๋ฆฌํดํ๋ค. ์ด ์ ๋ณด๋ ์ตํฐ๋ง์ด์ ๊ฐ SELECT ๋ช ๋ น๋ฌธ์ ์๋ ์ปฌ๋ผ ์ด๋ฆ๊ณผ ํ ์ด๋ธ์ ์ผ๋ง๋ ๋ง์ด ๊ฒ์ฆ์ ํ์๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ, SELECT๋ ์ต์ ํ ๊ณผ์ ์ ๊ดํ ์ดํ๋ฆฌ์ผ์ด์ .. [MySQL] where 1=1 ์๋ฏธ / ์ฌ์ฉํ๋ ์ด์ ์ด์์๋ฒ์ ์ฌ๋ผ๊ฐ์๋ ์ฟผ๋ฆฌ๋ฌธ์ ์ดํด๋ณด๋ฉด where ์กฐ๊ฑด ์ ์ 1=1 ์ด ๋ง์ด ๋ถ์ด์์ด์. ์ฒ์์๋ ์ด๊ฒ ๋ญ์ง ์ด๊ฑธ ์ ์ฐ๋์ง ์ดํด๋ฅผ ๋ชปํ๋๋ฐ ํ๋ค๋ณด๋๊น ์ ์ฐ๋์ง ์๊ฒ ๋์ ์ ๋ฆฌํ๋ ค๊ณ ํด์. 1=1 ? 1=1 ์ด๋ผ๋๊ฑด ํญ์ ์ฐธ์ด๋ผ๋๊ฑธ ์๋ฏธํด์. ๊ธ๋ฉด ์ ์ด๋ฐ ํญ์ ์ฐธ์ด๋ผ๋ ์กฐ๊ฑด์ ์ฐ๋ ? ๋ค์ ๋ถ๋ ์กฐ๊ฑด๋ค์ด ๊ณ ์ ์ ์ผ๋ก ๋ถ์ง ์์ ๋ ์ฆ, ๋์ ์ผ๋ก ์กฐ๊ฑด์ ์ ๋ถ์ด๊ณ ์ถ์ ๋ ์์ฃผ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋์ ์๋ฅผ๋ค๋ฉด ๊ฒ์๊ธฐ๋ฅ์ด ์์ด์ ์ฌ์ฉ์๋ก๋ถํฐ ์ ๋ ฅ๋ฐ์ ํค์๋๊ฐ ์กด์ฌํ ๋์๋ง ๋ค์ ์กฐ๊ฑด์ ์ ๋ถ์ด๊ณ ์ถ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉ๋์ ( ์ ์ํฉ์ Spring Framework๊ธฐ๋ฐ mybatis๋ฅผ ์ฌ์ฉํ๋ ์ํฉ์ด์์ ) 1 2 3 4 5 SELECT * FROM TB_TEST WHERE 1=1 Colored by Color.. [MySQL] 1093 ์๋ฌ(Error) ์ฒ๋ฆฌ MySQL์ ์ฟผ๋ฆฌ๋ฌธ์ ์คํํ๋ ์ค์ ๋๋ฌด ๊ฐ๋จํ ์ฟผ๋ฆฌ๋ฌธ์์๋ ๋ถ๊ตฌํ๊ณ ๋ฑ์ฅํ ์๋ฌ.. ์๋๊ฒ ๋ค ์ถ์ด์ ์๋ฌ๋ฅผ ๋ฐ๋ก ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํด์~ 1. ์์ธ MySQL์ 1093์๋ฌ์ ์์ธ์ ๊ฐ๋จํด์ MySQL์ Oracle๊ณผ ๋ฌ๋ฆฌ UPDATE๋ DELETE ์ฟผ๋ฆฌ๋ฌธ์ ์ํํ ๋ ์๊ธฐ ์์ ์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ๋์ด ์์ด์ ๊ทธ๋์ 1093์๋ฌ๋ฅผ ์ถ๋ ฅํด์ค์ผ๋ก์จ ๊ทธ๋ ๊ฒ ์ฌ์ฉํ์ง ๋ง๋ผ๊ณ ์๋ ค์ฃผ๋ ๊ฑฐ์์ DELETEFROM tb_userWHERE id IN (SELECT DISTINCT a.id ext_id FROM tb_user a JOIN tb_user b ON a.user_name = b.user_name JOIN tb_history d ON d.id = a.history_id WHERE a.hist.. [MySQL] SYSDATE() ์ NOW()์ ์ฐจ์ด ์ค๋์ MySQL์ ๋ด๋ถ์ ์ผ๋ก ๋ด์ฅ๋์ด ์๋ ํจ์(Built-inํจ์)๋ฅผ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํด์ MySQL์ Built-in ํจ์ ์ค์๋ ํ์ฌ ๋ ์ง ๋ฐ ์๊ฐ ์ ๋ณด๋ฅผ ๋ฐํํ๋ ํจ์๊ฐ SYSDATE()์ NOW() ์ด๋ ๊ฒ 2๊ฐ๊ฐ ์์ด์ SYSDATE()์ NOW()์ ์๋ ๋ฐฉ์์ ์ฟผ๋ฆฌ์ ์คํ ๊ณํ์ ์๋นํ ์ํฅ์ ๋ฏธ์น ์ ๋๋ก ์ํฅ๋ ฅ์ด ์ปค์ 1. MySQL ๋ฉ๋ด์ผ SYSDATE() returns the time at which it executes.This differs from the behavior for NOW(), which returns a constant time that indicates the time at which the statement began to execute.(Within a store.. 1 2 3 4