删除表并再次创建表

时间:2014-01-29 07:13:41

标签: mysql sql database syntax syntax-error

我正在使用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`

我做错了什么?

3 个答案:

答案 0 :(得分: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$$

答案 1 :(得分:1)

使用以下sql:

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

小提琴:http://sqlfiddle.com/#!2/a6e60

答案 2 :(得分: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

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