오류해결 | Field 'name' doesn't have a default value 오류해결 | |||||
---|---|---|---|---|---|
작성자 | 작성일 | 18-03-09 14:06 | |||
여러가지를 검색해본 결과 직접적으로 문제가 발생하는 부분에서 업데이트를 시켜주라는 글밖에 없음. 웹서버를 운영하는 업체에서 하나하나 다 업데이트를 시킬수 없음... 그게 몇개인데 혹시나 서버에서 설정할수 있는 부분이 있지 않을까 고민중에... 발견!! 이 문제는 필드의 기본값이 설정되어 있지 않아서 나오는 문제입니다. MySQL 4.x 에서는 이런문제가 발생하지 않는데 MySQL 5.x 에서는 이런문제가 발생합니다. 보통 phpMyAdmin 이런것으로 DB 를 관리하실텐데요. 필드를 만들때 not null 로 설정시 default 값에 아무것도 입력하지 않을경우 자동으로 '' 이렇게 셋팅이 안됩니다. 그래서 insert 쿼리 할때 default 값이 없는 필드를 그냥 무시하고 넘길때 아래처럼 에러가 발생하는겁니다. Field 'name' doesn't have a default value 뭐 정확하게 필드마다 값을 지정해주는것도 좋겠지만 특별히 지정 안해줘도 되는 부분에 '' 이걸 다 셋팅해주긴 귀찮고 not null 을 null 로 하긴 싫고..... my.ini 셋팅값을 변경하면 문제는 해결됩니다. 아래의 부분을 # 으로 주석처리해주세요 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 그러면 문제해결됩니다. cenots 5.7 기준으로 소스로 기본 설치한 서버라면 /etc/my.cnf vi /usr/local/mysql/my.cnf 가 존재할것임.. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES << 입부분에 # 주석처리 후 재시작 /etc/init.d/mysqld restart
|
|||||
|
|||||
댓글목록
등록된 댓글이 없습니다.