2014-01-29 5 views
-1

MySQL 6.0 Workbench를 사용 중이며 테이블이있는 경우 테이블을 삭제하고 새 테이블 스크립트를 만드는 동안 문제가 있습니다.테이블을 삭제하고 테이블을 다시 만듭니다.

아래는 내 sql 스크립트입니다.

delimiter $$ 

DROP TABLE IF EXISTS `tableName`; 
CREATE TABLE `tableName` (
    `column1` varchar(45) NOT NULL, 
    `column2` varchar(45) NOT NULL, 
    PRIMARY KEY (`column1`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$ 

오류 메시지 : 내가 잘못

Syntax error near CREATE TABLE `tableName` 

을 뭐하는 거지?

+0

은'DROP의 DATABASE,'EXISTS' IF DROP 표, 그리고 'DROP보기를 확인해야 삭제할 데이터베이스, 테이블 또는 뷰가 마스터에 존재하지 않더라도 복제됩니다. –

+1

전체 SQL 쿼리 – Damith

+0

을 표시 할 수 있습니까?이 http://www.tutorialspoint.com/mysql/mysql-create-tables.htm과이 http://www.tutorialspoint.com/mysql/mysql-drop을 읽어야합니다. -tables.htm –

답변

1

당신은 SQL 다음뿐만 아니라

delimiter $$ 

DROP TABLE IF EXISTS `tableName`$$ 

CREATE TABLE `tableName` (
    `column1` varchar(45) NOT NULL, 
    `column2` varchar(45) NOT NULL, 
    PRIMARY KEY (`column1`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$ 
+0

내 편집 된 질문을 확인하십시오. 이것도 함께 작동하지 않습니다. –

+0

무엇이'.... ....'테이블 정의에서? –

+0

'CHARSET = latin1' 후에 $$ 제거 –

1

사용 DROP TABLE 성명에서 $$ 구분 기호 사용할 필요가 업데이트] 답변 :

drop table if exists test; 
create table test(
    var1 int, 
    var2 int 
) 

바이올린 : http://sqlfiddle.com/#!2/a6e60

+0

이것은 작동하지 않습니다. 질문 할 전체 스크립트를 추가했습니다. –

0

이가 작업을 수행나

DROP TABLE IF EXISTS `tableName`; 

CREATE TABLE `tableName` (
    `column1` varchar(45) NOT NULL, 
    `column2` varchar(45) NOT NULL, 
    PRIMARY KEY (`column1`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 

sqlfiddle

어쩌면 당신은 EXISTS` 문이 항상 경우 EXISTS` IF "`"

관련 문제