2014-05-10 3 views
7
나는 OS X 10.9.2에서 MySQL을 사용하고

을 위해 '내가 지역 내 PHP는 웹 사이트를 실행하려고하면이 오류가':MySQL의 오류 - 잘못된 날짜 형식 : 1292 잘못된 날짜 시간 값 : 열

잘못된를 날짜 형식 : 1292 잘못된 날짜 값 : 나는 날짜 필드에 빈 값을 삽입하려고 할 때 오류가 발생 열 nameOfTheColumn

을 위해 ''. 이 사이트는 프로덕션 및 다른 지역의 컴퓨터에서 잘 작동하므로 문제는 데이터베이스에 있으므로 로컬 데이터베이스에서 해결해야합니다. 내가 MySQL은 엄격한 모드에서 실행 될 수 있음을 읽을 문제에 대해 읽기, 그래서 /usr/local/mysql/my.cnf 편집하고 내가이 줄을 주석 : 여전히

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

내가 컴퓨터를 다시 시작하고하는 것은 작동하지 않습니다 그러나 온라인 문서 및 다른 질문에 따르면이 방법이 있지만 응용 프로그램을 만들기 위해해야 ​​할 일이 정확히 무엇인지 알고 싶습니다. 반복, 코드 생산, xampp와 창문 등에서 작동합니다 ... 그래서 오랫동안 그냥 로컬에 대한 작업 때문에 변경되지 않을 수 있습니다 나는 MySQL 데이터베이스에서 오른쪽으로 변경해야합니다.

미리 감사드립니다.

+1

datetime 열이 null을 허용합니까? – user3470953

+0

예, 그렇습니다.하지만 사이트는 xampp이있는 Windows PC와 같은 다른 위치에서도 잘 작동합니다. 데이터베이스 구조와 코드를 변경할 수 없습니다. 문제는 mysql 설정에있다. 이것에 관해서는 읽었지만, 결국에는 my.cnf 나 다른 관련 파일에서 정확히해야 할 일이 무엇인지 모르겠다. – daveloper

+0

이미 작업 설치 중 하나에서 mysql 구성을 컴퓨터로 복사하는 방법을 생각해 보셨습니까? mysql datadir, 소켓을위한 pathes를 수정하는 것을 잊지 마라. – Kaii

답변

0

당신은 널 (null)

ALTER TABLE table_name MODIFY datetime_column_name datetime; 

열만큼 열을 NOT NULL로 선언하지 않는 한 기본적으로 널 (NULL) 허용하도록 열을 변경할 수 있습니다.

+1

[매뉴얼] (https://dev.mysql.com/doc/refman/5.6/en/create-table.html)에만 추가하고 싶습니다 : _ 모든 엔진의 경우, UNIQUE 색인은 다중 NULL을 포함 할 수있는 열의 NULL 값 – VMai

+0

고유 한 열이 다중 null 값을 허용하는 방법은 무엇입니까? – user3470953

+0

성명에서와 같이 열이 Null을 허용하더라도 고유 인덱스를 만드는 데 아무런 문제가 없습니다. NULL 값은 중복으로 간주되지 않습니다. – VMai

0

마침내 나는 해결책을 찾았습니다. 사실 저는 해결책이 sql_mode를 주석 처리하지만, /usr/local/mysql/my.cnf 대신 /etc/my.cnf에있는 파일을 주석 처리합니다. . 이 선을 언급하지 않고, 오류가 발생 빈 값을 삽입하려고하지만, 당신이 그것을 주석 경우, 빈 값 그것은처럼 보이는 '0000-00-00 00:00:00'

8

될 경우 MySQL의 osx 인스턴스에있는 디폴트 sql_mode는 유효하지 않은 날짜를 거부하도록 설정됩니다.

이 명령을 실행 시도 할 수 :

SET SESSION sql_mode='ALLOW_INVALID_DATES' 

당신이 당신의 세션을 초기화한다.

+0

을 본다. 유효하지 않은 datetimes를 * 변경하는 업데이트를 실행하기 위해 이것을 사용해야했습니다. –