database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 25682 게시물 읽기
No. 25682
음력 DB를 UTF8로 셋팅된 DB에 넣는 방법을 알고싶습니다.
작성자
윤완식
작성일
2006-08-01 12:21
조회수
2,394

System Windows NT 5.1 build 2600
PHP Version 4.4.2
MySQL 버전 4.0.26-nt-max
웹 서버 Apache v1.3.34
-----------------------------------------------------------------

DB 가 UTF8로 설정되어 있습니다.
그래서 calenda_data 테이블도 UTF8로 만들어서 테이블에 음력DB(9메가 가량되며 utf8로 변환)를 넣으려고 하는데 자꾸 오류가 발생합니다.
인터넷을 이틀동안 뒤져서 이리저리 해봐도 안되네요.
음력DB 용량이 우편번호DB 처럼 크기때문에 우편번호DB를 테이블에 추가하는 방법에 관련된 정보를 찾아서 힌트를 삼고 혼자 이리저리 해봐도 도저히 답을 못하겠네요.
역시 배움의 길은 멀고도 험한것 같습니다.

음력DB와 아래 테이블을 생성하는 코드가 담긴 PHP파일을 UTF8로변환하지 않고 실행하면 문제없이 DB에 calenda_data 이 생성되고, 9메가가 넘는 음력DB도 문제 없이 들어가지만 인코딩이 달라서 그런지
cd_hyganjee, cd_kyganjee, cd_hdganjee, cd_kdganjee, cd_ddi 칼럼은 아무런 자료가 들어가지 않터라구요. 그래서 UTF8로 변환해서 집어넣으려고 시도하고 있습니다.

음력 DB는 슈퍼개발님 홈페이지에 있는 것을 사용했습니다.
http://mytechnic.com/MT_Community/index.php?mtcode=pds&mtact=read&seq=183

MySQL Error : Invalid default value for 'cd_kyganjee' 오류가 나는것으로 봐서
cd_kyganjee 필드에 값이 들어가지 않아서 그런것 같은데.. 어떻게 해결하는 방법이 없을까요?

Invalid SQL:

CREATE TABLE `calenda_data` (
`cd_no` mediumint(5) unsigned NOT NULL auto_increment,
`cd_sgi` smallint(4) unsigned NOT NULL default '0',
`cd_sy` smallint(4) unsigned NOT NULL default '0',
`cd_sm` enum('1','2','3','4','5','6','7','8','9','10','11','12') NOT NULL default '1',
`cd_sd` enum('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31') NOT NULL default '1',
`cd_ly` smallint(4) unsigned NOT NULL default '0',
`cd_lm` enum('1','2','3','4','5','6','7','8','9','10','11','12') NOT NULL default '1',
`cd_ld` enum('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30') NOT NULL default '1',
`cd_hyganjee` enum('甲戌','甲申','甲午','甲寅','甲子','甲辰','庚戌','庚申','庚午','庚寅','庚子','庚辰','癸卯','癸未','癸巳','癸酉','癸丑','癸亥','己卯','己未','己巳','己酉','己丑','己亥','戊戌','戊申','戊午','戊寅','戊子','戊辰','丙戌','丙申','丙午','丙寅','丙子','丙辰','辛卯','辛未','辛巳','辛酉','辛丑','辛亥','乙卯','乙未','乙巳','乙酉','乙丑','乙亥','壬戌','壬申','壬午','壬寅','壬子','壬辰','丁卯','丁未','丁巳','丁酉','丁丑','丁亥') NOT NULL default '甲戌',
`cd_kyganjee` enum('갑술','갑신','갑오','갑인','갑자','갑진','경술','경신','경오','경인','경자','경진','계묘','계미','계사','계유','계축','계해','기묘','기미','기사','기유','기축','기해','무술','무신','무오','무인','무자','무진','병술','병신','병오','병인','병자','병진','신묘','신미','신사','신유','신축','신해','을묘','을미','을사','을유','을축','을해','임술','임신','임오','임인','임자','임진','정묘','정미','정사','정유','정축','정해') NOT NULL default '갑술',
`cd_hdganjee` enum('甲戌','甲申','甲午','甲寅','甲子','甲辰','庚戌','庚申','庚午','庚寅','庚子','庚辰','癸卯','癸未','癸巳','癸酉','癸丑','癸亥','己卯','己未','己巳','己酉','己丑','己亥','戊戌','戊申','戊午','戊寅','戊子','戊辰','丙戌','丙申','丙午','丙寅','丙子','丙辰','辛卯','辛未','辛巳','辛酉','辛丑','辛亥','乙卯','乙未','乙巳','乙酉','乙丑','乙亥','壬戌','壬申','壬午','壬寅','壬子','壬辰','丁卯','丁未','丁巳','丁酉','丁丑','丁亥') NOT NULL default '甲戌',
`cd_kdganjee` enum('갑술','갑신','갑오','갑인','갑자','갑진','경술','경신','경오','경인','경자','경진','계묘','계미','계사','계유','계축','계해','기묘','기미','기사','기유','기축','기해','무술','무신','무오','무인','무자','무진','병술','병신','병오','병인','병자','병진','신묘','신미','신사','신유','신축','신해','을묘','을미','을사','을유','을축','을해','임술','임신','임오','임인','임자','임진','정묘','정미','정사','정유','정축','정해') NOT NULL default '갑술',
`cd_ddi` enum('쥐','소','호랑이','토끼','용','뱀','말','양','원숭이','닭','개','돼지') NOT NULL default '쥐',
`cd_week` enum('일','월','화','수','목','금','토') NOT NULL default '일',
`cd_sol_plan` varchar(50) default NULL,
`cd_lun_plan` varchar(50) default NULL,
`cd_kk` enum('11','21','31','32','41','42','51','52','61','62') NOT NULL default '11',
`holiday` int(1) default '0',
PRIMARY KEY (`cd_no`),
KEY cd_sy (`cd_sy`),
KEY cd_sm (`cd_sm`),
KEY cd_sd (`cd_sd`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;;

MySQL Error : Invalid default value for 'cd_kyganjee'
Error Number : 1067

이 글에 대한 댓글이 총 1건 있습니다.

님의 서버 환경이... 기존이 4.0이고 5.X로 이전하는 것인지

4.0에 넣겠다는 것인지 혼동스럽습니다만...

일단 아래와 같이 한번 시도해 보세요.



`cd_kyganjee` enum(.......생략.......) NOT NULL default '갑술'


...에서 원본 SQL은 EUC-KR이고,

DB에 접속할 때는 UTF-8로 접속된 상태에서 작업을 하신 듯 싶네요.

"갑술"이 다른 문자로 해석되어서 오류가 날 수도 있죠. :)


굳이 UTF-8로 변환해서 집어넣을 것 없이

SQL 문의 맨 처음 부분에 아래와 같이 추가한 후

다시 한번 실행해보세요.


SET character_set_client = 'euckr';

SET character_set_results = 'euckr';

SET collation_connection = @@collation_database;

Fencer(fencer)님이 2006-09-03 07:39에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
25687사용자 추가 문의입니다. [2]
김남우
2006-08-01
2568
25686mysql error가 쌓이고 있는데
차가운바람
2006-08-01
2051
25684UTF8환경 웹상에서와 클라이언트 상에서.. [1]
Julia
2006-08-01
2436
25682음력 DB를 UTF8로 셋팅된 DB에 넣는 방법을 알고싶습니다. [1]
윤완식
2006-08-01
2394
25681테이블 생성 시 FOREIGN 키 문제... [3]
장대원
2006-07-30
2069
25680테이블 생성시 발생하는 문제 [1]
박상용
2006-07-29
1559
25678검색한 값을 제외하여 출력하려면..?? [2]
이연희
2006-07-28
1413
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다