테스트 사이트 - 개발 중인 베타 버전입니다

DB관련 질문 드립니다!

미친존재감23 7년 전 조회 7,604

http://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=24 이곳을 보고 현재 하고 있는데 

DB쪽 수정을 하는 도중 TEXT -> LONG TEXT 로 수정 버튼을 누르는 순간 

wr_datetime의 유효하지 못한 디폴트 값을 사용하셨습니다.값이 나와서 기본값을 current time으로 바꾸니  as_update 가 잘못됐다길래 가서 기본값에 current time으로 바꾸니 이번엔 또 wr_datetime의 유효하지 못한 디폴트 값을 사용하셨다고 나오는데 이거 왜이런가요 미치겠네요 ㄷㄷ

 

이거 어떻게 해야되나요...ㅠㅠ 

 

텍스트 좀 수정하는것도 이렇게 힘드니...

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

mysql 5.6 버전 이상을 사용하는 경우에 발생하는 문제입니다.(디폴트값 설정되어 있지 않으면, 값을 명시적으로 입력을 해야 합니다. 엄격하게 입력하도록 설정되어 있습니다.)

set sql_mode='' 을 실행하신후 변경하시면 됩니다. 그누보드 코드에도 위와 관련된 코드가 포함되어 있습니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

7년 전

음 죄송합니다. 스크립을 다시 적겠습니다.

http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/alter-table.html" rel="nofollow">ALTER http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/alter-table.html" rel="nofollow">TABLE `g5_write_qa` CHANGE `wr_datetime` `wr_datetime` http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html" rel="nofollow">DATETIME http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/logical-operators.html#operator_not" rel="nofollow">NOT NULL;

alter table g5_write_qa change wr_datetime wr_datetime datetime not null;

이렇게  "`" 표시를 다 없앤 다음에 해보세요

즉 

alter table g5_write_ari1 CHANGE wr_datetime  wr_datetime DATETIME NOT NULL ;

로 작성하시면 됩니다. 

이 의미는 g5_write_ari1  테이블에 있는 wr_datetime를 "wr_datetime DATETIME NOT NULL" 로 다시 설정해주는 것입니다.

 

존재감님이 2번째 위치에 wr_datetime 로 적으셔야 될 곳을 ar_update로 적으면서 오류가 생겼습니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

7년 전

mysql 에서 

http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/alter-table.html" target="mysql_doc">ALTER http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/alter-table.html" target="mysql_doc">TABLE `g5_write_qa` CHANGE `wr_datetime` `wr_datetime` http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html" target="mysql_doc">DATETIME http://www.6kit.com/pm/url.php?url=https://dev.mysql.com/doc/refman/5.5/en/logical-operators.html#operator_not" target="mysql_doc">NOT NULL;

식으로  쿼리를 실행해서 해당 기본값을 없애시면 될것같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

미친존재감23
7년 전
ALTER TABLE `g5_write_ari1` CHANGE `wr_datetime``as_update` DATETIME NOT NULL
MySQL 메시지: 문서

#1064 - 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('NOT NULL' 명령어 라인 1)

라고 나오네요 ㄷㄷ
미친존재감23
7년 전
ALTER TABLE `g5_write_ari1` CHANGE `wr_datetime` `as_update` DATETIME NOT NULL;

로 다시 해보니 이번엔


ALTER TABLE `g5_write_ari1` CHANGE `wr_datetime` `as_update` DATETIME NOT NULL
MySQL 메시지: 문서

#1060 - 중복된 칼럼 이름: 'as_update'

라는 오류가 나오는데 뭐가 잘못된거죠 ㄷㄷ

당췌 기존에 있던 칼럼인데도 중복이 나오네요 ..........

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인