2014-01-29 41 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 IF EXISTS','DROP TABLE IF EXISTS'和'DROP VIEW IF EXISTS'語句總是即使要刪除的數據庫,表或視圖在主服務器上不存在,也要進行復制。 –

+1

你能告訴我們你的完整的SQL查詢 – Damith

+0

你應該閱讀這http://www.tutorialspoint.com/mysql/mysql-create-tables.htm這http://www.tutorialspoint.com/mysql/mysql-drop -tables.htm –

回答

1

修訂答

您需要DROP TABLE語句分隔符$$使用以及

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

使用SQL語句:

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

也許你需要檢查你的 「`」