2012-03-20 61 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 2012-03-20 17:52:50

+0

爲什麼'delphi'標記?請使用像HeidiSQL或MySQL工作臺這樣的客戶端應用程序來嘗試這種方式,這樣可以確保您的語法是正確的。 – 2012-03-20 17:53:47

+0

我刪除了Delphi標籤,因爲這個問題與Delphi本身無關。你使用Delphi'TADOQuery'的事實對於所問的問題是沒有意義的。 – 2012-03-20 17:59:25

回答

0

我相信'use'語句只用於mysql命令行客戶端切換到另一個數據庫。如果你想「使用」另一個數據庫,你可能需要使用一些API調用或直接重新連接到新創建的數據庫。

+0

謝謝!儘管有什麼想法如何?或者應該在創建數據庫之後關閉查詢,然後將查詢的其餘部分作爲新查詢運行? – JamesB123 2012-03-20 19:19:40

+0

不,不幸的是,我不知道如何在德爾福應該這樣做。我假設你有一段實際上使數據庫連接的代碼。我建議你開始看那裏。 – Friek 2012-03-20 19:22:28