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 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

Что такое '.... ....' В таблице defintion? –

+0

Удалить $$ после 'CHARSET = latin1' –

1

Используйте следующие SQL:

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

Fiddle: 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

может быть, вам нужно проверить "`"

Смежные вопросы