문제

나는가.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" 데이터베이스에 이미 존재하는 테이블을 만들려고하기 때문입니다. (오류를 읽었습니까?) 몇 가지 옵션이 있습니다.

  1. SQL을 이것으로 변경하십시오.

    CREATE TABLE IF NOT EXISTS ads ( id bigint(20) ...
    
  2. SQL을 이것으로 변경하십시오.

    DROP TABLE IF EXISTS ads;
    CREATE TABLE ads (id bigint(20) ...
    
  3. 먼저 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에서는 실행되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top