입니다.sql 파일을 다른 MySQL 및 SQL?
-
19-09-2019 - |
문제
나는가.sql 파일하고 싶으로 로드하 MySQL 데이터베이스입니다.내가 알지 못하는 데이터베이스(MySQL 또는 MS-SQL)그것을 만들었습니다.
지금,나는 내가 가져오려는 파일로 MySQL 데이터베이스입니다.그것은 오류가 표시되는 동안 가져오고 실행하는 파일입니다.
Q1.그래서 질문을 드리는지 여부.sql 파일에서 생성되는 MySQL 및 MS-SQL 는 다른가요?
참고:내가 사용하 sqlyog 에있는 소프트웨어는(그래픽 인터페이스에 대한 MySQL)파일을 가져 오기위한.
여기에 오류가:
쿼리:테이블 생성
ads
(id
bigint(20)NULL 이 아닌 다음의 특징,city_id
int(11)지 NULL,type
텍스트 collate utf8_bin NOT NULL,town
텍스트 collate utf8_bin NOT NULL,address
텍스트 collate utf8_bin NOT NULL,price
텍스트 collate utf8_bin NOT NULL,info
텍스트 collate utf8_bin NOT NULL,link
텍스트 collate utf8_bin NOT NULL,hasImage
int(11)지 NULL,language
varchar(2)collate utf8_bin NOT NULL,time_added
varchar(255)collate utf8_bin NOT NULL, PRIMARY KEY(id
) )ENGINE=InnoDB 기본 CHARSET=utf8COLLATE=utf8_bin 다음의 특징=1
오류가 발생한다:2009-09-08 17:41:01 Line no.:35 오류 코드:1050-테이블'광고'이미 존재하는
쿼리:테이블 생성
ads
(id
bigint(20)NULL 이 아닌 다음의 특징,city_id
int(11)지 NULL,type
텍스트 collate utf8_bin NOT NULL,town
텍스트 collate utf8_bin NOT NULL,address
텍스트 collate utf8_bin NOT NULL,price
텍스트 collate utf8_bin NOT NULL,info
텍스트 collate utf8_bin NOT NULL,link
텍스트 collate utf8_bin NOT NULL,hasImage
int(11)지 NULL,language
varchar(2)collate utf8_bin NOT NULL,time_added
varchar(255)collate utf8_bin NOT NULL, PRIMARY KEY(id
) )ENGINE=InnoDB 기본 CHARSET=utf8COLLATE=utf8_bin 다음의 특징=1
오류가 발생한다:2009-09-08 17:41:21 Line no.:35 오류 코드:1050-테이블'광고'이미 존재하는
쿼리:테이블 생성
ads
(id
bigint(20)NULL 이 아닌 다음의 특징,city_id
int(11)지 NULL,type
텍스트 collate utf8_bin NOT NULL,town
텍스트 collate utf8_bin NOT NULL,address
텍스트 collate utf8_bin NOT NULL,price
텍스트 collate utf8_bin NOT NULL,info
텍스트 collate utf8_bin NOT NULL,link
텍스트 collate utf8_bin NOT NULL,hasImage
int(11)지 NULL,language
varchar(2)collate utf8_bin NOT NULL,time_added
varchar(255)collate utf8_bin NOT NULL, PRIMARY KEY(id
) )ENGINE=InnoDB 기본 CHARSET=utf8COLLATE=utf8_bin 다음의 특징=1
오류가 발생한다:2009-09-08 17:41:35 Line no.:35 오류 코드:1050-테이블'광고'이미 존재하는
쿼리:테이블 생성
ads
(id
bigint(20)NULL 이 아닌 다음의 특징,city_id
int(11)지 NULL,type
텍스트 collate utf8_bin NOT NULL,town
텍스트 collate utf8_bin NOT NULL,address
텍스트 collate utf8_bin NOT NULL,price
텍스트 collate utf8_bin NOT NULL,info
텍스트 collate utf8_bin NOT NULL,link
텍스트 collate utf8_bin NOT NULL,hasImage
int(11)지 NULL,language
varchar(2)collate utf8_bin NOT NULL,time_added
varchar(255)collate utf8_bin NOT NULL, PRIMARY KEY(id
) )ENGINE=InnoDB 기본 CHARSET=utf8COLLATE=utf8_bin 다음의 특징=1
오류가 발생한다:2009-09-08 17:42:07 Line no.:35 오류 코드:1050-테이블'광고'이미 존재하는
쿼리:1 스탠포드 대학 6700 http://www.orkut.co.in . . .
해결책
".sql"파일 확장자는 본질적으로 의미가 없습니다. 너 파일이 무엇인지 알고 있습니다. 메모장으로 열 수있는 SQL이 포함 된 일반 텍스트 파일 일뿐입니다. 따라서 특별한 "MySQL"또는 "SQL Server"확장자가 없습니다.
당신이 거기에있는 오류 "Table 'ads' already exists"
데이터베이스에 이미 존재하는 테이블을 만들려고하기 때문입니다. (오류를 읽었습니까?) 몇 가지 옵션이 있습니다.
SQL을 이것으로 변경하십시오.
CREATE TABLE IF NOT EXISTS ads ( id bigint(20) ...
SQL을 이것으로 변경하십시오.
DROP TABLE IF EXISTS ads; CREATE TABLE ads (id bigint(20) ...
먼저 DB의 모든 테이블을 지우십시오.
다른 팁
MySQL 및 Microsoft SQL Server는 불행히도 SQL의 다른 방언을 구현합니다. 따라서 귀하의 질문에 대한 답변 :
Q1. 따라서 내 질문은 MySQL 및 MS-SQL에서 생성 된 .SQL 파일이 다른지 여부입니다.
"예, 꽤 가능성이 있습니다"입니다. 그러나 보여주는 특정 오류는 35 행에 대한 "테이블 작성"명령문으로 인한 것으로 보이며, 그러한 방언 차이에 의존 할 수 없으므로 원인은 다른 것들 (예 : 내가 익숙하지 않은 "sqlyog"프로그램의 버그 또는 미묘한 형식 차이는 입력으로 기대합니다).
에 따라 달라는 소프트웨어에 수출이 파일입니다.에서도 확인하는 파일의 헤더에는 소프트웨어 그것을 했고 분석한 구문을 결정하는 이 파일에 속하는.참고 또한 SQL 은 microsoft sql server.
예. SQL은 데이터베이스마다 데이터베이스마다 크게 다릅니다. 있는 동안 SQL 표준 대부분의 데이터베이스가 많은 것을 지원하는 모든 데이터베이스에는 표준에 의해 지정된 수많은 수많은 비표준 기능 및 기능이 있습니다.
다양한 마이그레이션 문서도 있습니다.
mssql => mysql :http://dev.mysql.com/tech-resources/articles/migrating-from-microsoft.html
mysql => mssql :http://technet.microsoft.com/en-us/library/cc966396.aspx
MSSQL이 지원하지 않는 Create Table 문에는 즉시 점프하는 두 가지 명백한 사항이 있습니다.
ENGINE=InnoDB
AUTO_INCREMENT=1
그것들은 모두 MySQL 특이 적 진술입니다.
스크립트가 여러 번 실행되는 것처럼 보입니다 (오류가 발생하는 줄 번호가 매번 동일하므로). 오류는 또한 이미 존재하는 테이블을 정의하려고한다는 것을 나타냅니다.이 스크립트가 처음 실행 된 것일 수 있습니다. 스크립트가 어떻게 실행되는지 조사하여 왜 여러 번 실행되는지 확인할 수 있습니다.
SQL 자체는 MySQL에 잘 어울립니다. SQL Server에서는 실행되지 않습니다.