2013-01-23 6 views
1

그냥 기존 테이블 구조를 다른 데이터베이스로 복사하려고합니다.mysql에서 테이블 생성 후 구문 오류

SHOW CREATE TABLE keyword_session 

가 그럼 난 다른 데이터베이스에서의 출력을 실행합니다 :

처음 실행 : 모든 쿼리는 phpMyAdmin을 실행하는

CREATE TABLE `keyword_session` (  
`id` int(11) NOT NULL AUTO_INCREMENT, 
`session_id` int(11) NOT NULL, 
`keyword_id` int(11) NOT NULL,  PRIMARY KEY (`id`)) 
ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 

그리고 오류 가지고 :

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' id int(11) NOT NULL AUTO_INCREMENT, Â session_id int(11) NOT NULL, Â `keywor' at line 1

구문 오류는 어디에 있습니까? SHOW CREATE TABLE을 실행할 수있는 결과가 아닐까요?


편집 : 나는 테이블을 만들려고 시스템의 일부 정보 :

Database server : 
    Server: Localhost via UNIX socket 
    Software: MySQL 
    Software version: 5.1.63-0ubuntu0.11.10.1 - (Ubuntu) 
    Protocol version: 10 
    User: ... 
    Server charset: UTF-8 Unicode (utf8) 
Web server: 
    ... 
phpMyAdmin: 
    Version information: 3.5.1, latest stable version: 3.5.5 
    ... 
+0

uhmm, create table 문이 fiddle에서 작동 중입니다. http://www.sqlfiddle.com/#!2/ab087 –

+0

 session_id int (11) NOT NULL, Â에 알 수없는 기호' '가 있습니다. . – hjpotter92

답변

1

오류에 따르면, 당신의 문이 알 수없는 기호에게 그것에 Â을 갖고있는 것 같아요.

아마도 새 줄 바꿈이 잘못 해석되었을 수 있습니다.

id int(11) NOT NULL AUTO_INCREMENT, Â session_id int(11) NOT NULL, Â `keywor 

통지를 심볼이 session_idkeyword_id 선언 앞에 나타나는 방식 :이 라인에서 눈에 띄는 경우에만 종료 때문에, 그렇게 말?

+1

복사하여 붙여 넣기 할 때 일부 이상한 문자가 공백으로 문자열에 밀입국했습니다. 모든 공백/개행 문자를 바꾸면 문제가 해결되었습니다. –

+0

그리고 이것은 아마도 UTF-8 및 기타 텍스트 형식 변환 때문이었습니다. 내가 물건을 운반 할 때 나와 리눅스와 윈도우에서 많이 일어난다. – hjpotter92

0

온라인 편집으로 phpmyadmin의 새 버전을 조심하십시오. 때로는 텍스트 상자에서 복사하면 이상한 문자를 줄 수 있습니다.

enter image description here

2

명령

show create table table_name; 

그래서 데이터가 문자로 저장 될 기본 문자 집합 정렬 utf8_general_ci이있는 데이터베이스 INFORMATION_SCHEMA에서 정보를 검색 구체적으로

오류에 나타낸 바와 같이 수동으로 다음 오류

을받지 않습니다 같은 입력

명세서가 알 수없는 기호 문자는 문자 집합에

더 많은 정보를 설정하고 정렬 할 수있는 기본에 속하는 미래의 오류를 회피하거나 해결하기 위해 참조 할 수있는 가장 좋은 것인 here을 찾으십시오.

0

복사하여 메모장이나 텍스트 편집기에 붙여 넣은 다음 다시 시도해보십시오. 아마도 거기에 가비지 문자가있을 것입니다.