2012-03-20 21 views
2

はここに私のコードの新しいデータベースを作成し、現在のUSE文に3行でエラーが発生しました: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 
) 

..itが進むが、エラーが

まで来ていない場所のthats ..そして、私はDelphiのADOQueryを使ってこれをやろうとしています。(エラーはどこにあるのだろうと思いますが)

+0

私はADクエリでテーブルを作成することはできますが、間違っているとは思わないと思います... – ComputerSaysNo

+0

「デルファイ」タグはなぜですか? HeidiSQLやMySQLワークベンチのようなクライアントアプリケーションでこれを試してください。そうすれば、構文が正しいことを確認することができます。 –

+0

この質問はDelphi自体とは関係がないため、Delphiタグを削除しました。あなたがDelphiの 'TADOQuery'を使用しているという事実は、質問された質問に無意味です。 –

答えて

0

私は 'use'ステートメントはmysqlコマンドラインクライアントで別のデータベースに切り替えるためにのみ使用されると信じています。別のデータベースを "使用する"場合は、おそらくいくつかのAPI呼び出しを使用するか、新しく作成したデータベースに直接再接続する必要があります。

+0

ありがとうございました!どのように考えていますか?または私はちょうど、データベースを作成した後、クエリを閉じて、新しいクエリとしてクエリの残りの部分を実行する必要がありますか? – JamesB123

+0

いいえ、残念ながら、私はこれがDelphiでどのように行われるべきかの手がかりを持っていません。私はあなたが実際にデータベース接続を行うコードを持っていると仮定します。私はあなたがそこを見始めることをお勧めします。 – Friek