๐ ์๋ฌ ๋ด์ฉ
row size too large. the maximum row size for the used table type, not counting blobs, is 8126. this includes storage overhead, check the manual. you have to change some columns to text or blobs. |
๐ table๋ฅผ ๋ณ๊ฒฝ ํ๋ ค๊ณ ํ ๋ ์๊ธฐ๋ ์ค๋ฅ. ( ํ ์ด๋ธ ์์ฑ, ์ญ์ / ์ปฌ๋ผ ์ถ๊ฐ, ์ญ์ , ์์ )
ALTER TABLE [ํ
์ด๋ธ๋ช
] DROP COLUMN [์ปฌ๋ผ๋ช
];
mysql์์ row ์ฌ์ด์ฆ๊ฐ ์ ํ์ด ๋์ด ์์ด์ dataType์ด varchar๋ก ๊ตฌ์ฑ์ด ๋์ด ์๋ ๊ฒฝ์ฐ์ ํด๋นํ๋ ์ค๋ฅ๊ฐ ๋ฐ์
๐ก ํด๊ฒฐ ๋ฐฉ์
๊ทธ๋์ varchar๋ฅผ BLOB๋ TEXT๋ก ๋ณ๊ฒฝํ๋ฉด ๋๋๋ฐ, ์ด๋ ์ฐธ์กฐ๊ฐ๋ง ์ ์ฅ์ด ๋๊ธฐ ๋๋ฌธ์
๊ฐ์ฅ ๊ถ์ฅํ๋ ๋ฐฉ๋ฒ์ ํ ์ด๋ธ์ ์ฌ ์ค๊ณํ๋ ๊ฒ์ด๋ค. ์ฆ, table ๋ค์ ๋ง๋๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋.
table๋ฅผ ๋ค์ ์ค๊ณํ๊ธฐ ํ๋ ์ํฉ + ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์๊ตฌ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ๋
์ถ๊ฐ ์ปฌ๋ผ์ ์ถ๊ฐํ๊ธฐ ์ ์ ์๋ ๋ฌธ์ฅ์ ์คํํ ์ถ๊ฐํ๊ฒ ๋๋ฉด ์ปฌ๋ผ์ด ์ถ๊ฐ ๋๋ค.
set innodb_strict_mode = 0;
SET innodb_strict_mode = 0;๋ MySQL์์ InnoDB ์คํ ๋ฆฌ์ง ์์ง์ "strict mode"๋ฅผ ๋นํ์ฑํํ๋ ์ค์ ๋ช ๋ น
InnoDB strict mode๊ฐ ๋นํ์ฑํ๋๋ฉด InnoDB๋ ํน์ ์๋ชป๋ SQL ์์ ์ด๋ ์ค์ ์ ๋ํด ๋ ๊ด๋ํ ํ๋๋ฅผ ๋ณด์ด๋ฉฐ, ์๊ฒฉ ๋ชจ๋์์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ๋ฌด์ํ๊ณ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ํค๊ฑฐ๋ ๋ฌด์
InnoDB strict mode๊ฐ ๋นํ์ฑํ๋ ๋์ ์ฃผ์ ์ํฅ
- ์๋ชป๋ ๋ฐ์ดํฐ ํ์ ๋ณํ: ์๋ชป๋ ๋ฐ์ดํฐ ํ์ ์ ์ฝ์ ํ๋ ค๊ณ ํ ๋, strict mode์์๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค์ง๋ง, strict mode๊ฐ ๋นํ์ฑํ๋๋ฉด ๊ฒฝ๊ณ ๋ง ๋ฐ์์ํค๊ณ ๋ฐ์ดํฐ ์ฝ์ ์ ํ์ฉํ ์ ์์ต๋๋ค.
- ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด: ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ์๋ฐํ ๋ strict mode์์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง๋ง, ๋นํ์ฑํ๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ง ๋ฐ์ํ ์ ์์ต๋๋ค.
- InnoDB ํ ์ด๋ธ์ ํน์ ์ค์ : ์ผ๋ถ ์ค์ ๊ฐ์ด๋ ์ต์ ์ด ์๊ฒฉ ๋ชจ๋์์ ํ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ, ์ด ๋ชจ๋๋ฅผ ๋นํ์ฑํํ๋ฉด ์ค์ ์ด ๊ฐ๋ฅํด์ง ์ ์์ต๋๋ค.
InnoDB strict mode๋ฅผ ๋นํ์ฑํํ๋ฉด ์ผ์์ ์ผ๋ก ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ด๋ ค์ด ์ํฉ์ ์ฒ๋ฆฌํ ์ ์์ง๋ง, ์ฅ๊ธฐ์ ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด strict mode๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฐ๋ผ์, SET innodb_strict_mode = 0;๋ ์ ์คํ๊ฒ ์ฌ์ฉํด์ผ ํ๋ฉฐ, ์๊ฒฉํ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์๊ตฌ ์ฌํญ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅํฉ๋๋ค.
๋๊ธ