2014-01-29 116 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

也许你需要检查你的 “`”