mysql에 date 또는 datetime형식의 필드에 default(기본)값을 바꾸려면 어떻게 해야하나요?
본문
몇일전에 php8, mysql8을 깔았습니다. 이전버전이 잘안되서 되는걸로 하니깐 각각 최근버전을 깔게됬어요.
그런데 mysql에 date 또는 datetime형식의 필드에 기본값이 '0000-00-00' 같이 되있는데요, 이 부분이 계속 에러가 떠요.
실제로 기본값을 없음으로 바꿔주니까 에러가 사라지고 있습니다. 날짜/시간 형식의 필드들이 한개가 아니라서 일일이 기본값없음으로 몇개 바꾸다가 정지하고 하루지나서 똑같이 이어서 phpmyadmin에서 하니깐 이상하게 되던게 안되어서 기본값이 바뀌지 않고 있어요.
mysql 콘솔들어가서 해보려는데요, 나름 구글링해서 아래 쿼리 날려봤는데 에러뜨면서 안되요.
ALTER TABLE 'g5_member' MODIFY COLUMN 'mb_nick_date' VARCHAR(100) DEFAULT CURRENT_DATE
ALTER TABLE 'g5_member' CHANGE 'mb_nick_date' 'mb_nick_date' VARCHAR(100) DEFAULT CURRENT_DATE
ALTER TABLE 'g5_member' ALTER COLUMN 'mb_nick_date' SET DEFAULT CURRENT_DATE
ALTER TABLE 'g5_member' ALTER 'mb_nick_date' DROP DEFAULT
...
mysql에 date 또는 datetime형식의 필드에 default(기본)값을 바꾸려면 어떻게 해야하나요?
답변 1
mysql 5.7 이상이면 타임스템프로 해야되요 '0000-00-00' 이건 인위적으로 사용 가능합니다.
SET SQL_MODE='ALLOW_INVALID_DATES';
명령어 부터 주시고 사용 하시면되요