2012-03-20 2 views
2

Вот мой код, в настоящее время есть ошибка в строке 3 на USE заявление:SQL Ошибка синтаксиса - создание новой базы данных

CREATE DATABASE `jamestennisdbTest`; 

USE jamestennisdbTest; 

    DROP TABLE IF EXISTS lessontbl; 
    CREATE TABLE lessontbl (
    LessonID int(11) NOT NULL AUTO_INCREMENT, 
    LessonName varchar(30) NOT NULL, 
    LengthOfLesson int(11) NOT NULL, 
    NoOfPupils int(11) NOT NULL, 
    LocationID int(11) NOT NULL, 
    `Type` varchar(45) NOT NULL, 
    CostPerPupil float NOT NULL, 
    TotalCost float NOT NULL, 
    PRIMARY KEY (LessonID), 
    UNIQUE KEY LessonID_UNIQUE (LessonID), 
    KEY `fk_Location_lesson-location` (LocationID), 
    CONSTRAINT `fk_Location_lesson-location` FOREIGN KEY (LocationID) REFERENCES   locationstbl (LocationID) ON DELETE NO ACTION ON UPDATE NO ACTION 
) 

..Это продолжается, но тот не там, где ошибки придумывают

.. И я пытаюсь сделать это через Delphi ADOQuery (хотя я не думаю, что это ошибка)

+0

Я не думаю, что запрос ado позволяет создать таблицу, но может быть неправильной ... – ComputerSaysNo

+0

Почему тег 'delphi'? Попробуйте это с помощью клиентского приложения, такого как HeidiSQL или MySQL workbench, таким образом вы можете убедиться, что ваш синтаксис верен. –

+0

Я удалил тег Delphi, поскольку этот вопрос не имеет ничего общего с Delphi. Тот факт, что вы используете Delphi 'TADOQuery', не имеет смысла для заданного вопроса. –

ответ

0

Я считаю, что оператор 'use' используется только в клиенте командной строки mysql для переключения на другую базу данных. Если вы хотите «использовать» другую базу данных, вам, вероятно, придется использовать какой-либо вызов API или просто повторно подключиться непосредственно к недавно созданной базе данных.

+0

Спасибо! хотя какая-то идея о том, как? или я должен просто закрыть запрос после создания базы данных, а затем запустить остальную часть запроса в качестве нового запроса? – JamesB123

+0

Нет, к сожалению, я не знаю, как это должно быть сделано в Delphi. Я предполагаю, что у вас есть кусок кода, который фактически делает соединение с базой данных. Я предлагаю вам начать искать там. – Friek

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