[MySQL 오류] warning : Integer display width is deprecated and will be removed in a future release.

Gammi·2023년 1월 18일
0

오류 해결

목록 보기
12/25

⛔ MySQL 오류


원래 sql 구문 틀리면 안된다고만 떴는데

이번에는 되긴 되는데 음... 찝찝하게 뒤에 warning이 하나 떠 있었다.



일단 구문은 적용돼서 넘겨도 될 것 같은데 사알짝 찝찝한 마음이 사라지지 않아서 warning을 찾아보기로 했다.



일단 [ 쿼리 OK ] 저 문장에서는 warning의 개수만 알려주고 자세한 내용은 알려주지 않기 때문에 자세한 내용을 알아보기 위해서는 아래 구문을 입력해 확인해줘야 한다.


show warnings;



저 문장을 실행했더니 warning에 대해 자세한 설명이 나왔다


⭐ warning

Integer display width is deprecated and will be removed in a future release.




아!

int 타입에 크기를 정하면 경고를 준다고?


찾아봤더니 mysql 8.0.17 버전부터 int 타입에 길이 설정하는 건 더 이상 지원하지 않기로 하고 향후 버전부터는 제거될 기능 중 하나라서 경고를 주는 거라고 하더라!



여기서 내가 테이블을 만들 때 사용한 구문을 살펴보면...


CREATE TABLE book(
	book_idx VARCHAR(10) PRIMARY KEY,
    book_name VARCHAR(100) NOT NULL,
    book_genre VARCHAR(20) NOT NULL,
    book_writer VARCHAR(50) NOT NULL,
    book_publisher VARCHAR(20) NOT NULL,
    book_price INT NOT NULL,
    book_quantity INT(20) NOT NULL,
    book_date DATE NOT NULL,
    book_sel_count INT NOT NULL DEFAULT 0,
    book_detail TEXT NOT NULL,
    book_discount INT NOT NULL DEFAULT 0,
    book_img VARCHAR(200) NOT NULL,
    book_detail_img VARCHAR(200) NOT NULL,
   	 CONSTRAINT b_bidx_fk FOREIGN KEY(book_idx)
     	REFERENCES product (product_idx)
);

book_quantity 칼럼 데이터타입이 int인데 저기에만 크기를 지정해놓은 걸 찾을 수 있음!

근데 다른 int타입 컬럼은 크기 지정 안했는데 왜 쟤만 크기를 정해놨는지 모를 일,,,


그래도 저거 아니었으면

int형에 크기 지정하는 건 없어질 거라는 걸 몰랐을 테니까 다행이라고 해야하나?





✔ 해결


book_quantity INT(20) NOT NULL,


이 부분이 잘못된 거니까 이 구문에서 지정해놓은 테이터 크기만 삭제해서



book_quantity INT NOT NULL,


이렇게 바꾼 후 다시 테이블을 만들면!!



이제 warning 없이 정상적으로 수행된다!

profile
개발자가 되었어요⭐️

0개의 댓글