- 締切済み
eclipse3.2,DBedit1.0.3,がうまくいかない
eclipse3.2 DBedit1.0.3 がうまくいかないです。 接続まではできるのですが コマンドプロンプトでmysqlユーザーでは テーブルが作成されていているのが確認できるのですが DBEDIT上ではテーブルの一覧が表示されません。 新しくテーブルを作成しようとすると 下のエラーとなってしまいます。 どなたかわかるかたがいらっしゃいましたらよろしくお願いします。 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right... dbedit.core.DataException: Couldn't execute query:create table 123 (newColumn_0 BIGINT not null,newColumn_1 BIGINT not null) com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '123 (newColumn_0 BIGINT not null,newColumn_1 BIGINT not null)' at line 1
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chukenkenkou
- ベストアンサー率43% (833/1926)
メッセージの内容が、質問時と違ってますよね。 質問時のエラーは、「SQLの文法エラー」です。 次のように出ていますよね。 「the right syntax to use near '123 (newColumn_0 BIGINT not null,」 「123(newColumn・・・」付近がだめと言われています。 MySQLでは、表名、列名などに、 (1)予約語と同じキーワード (2)特殊記号を含んでいたり、数字で始まる場合など といったケースでは、「`」(バッククォート)で名称を囲むことで指定可能にしています。 例 create table `table`(`123` int,`a-b` char(10)) これはMySQLの独自仕様であり、標準SQLや主要なRDBMSでは、「"」(二重引用符)で囲むことになっています。また、SQL ServerやACCESSでは、[ ]で囲むという独自仕様もあります。 MySQLでは、「MySQL構文モード」(MySQLインストール時の標準設定)でサーバ起動時、「"」(二重引用符)は「'」(単一引用符)と同じく文字定数を示す記号になっているので、注意してください。 select 'abc', -- 「'」(単一引用符)で囲んだものは、文字定数 "abc" -- 「"」(二重引用符)で囲んだものも、MySQLでは文字定数 `abc` -- 「`」(バッククォート)で囲んだものは、表名や列名 from t1 したがって、最初の質問のSQLでは、 create table `123`(newColumn・・・ のように指定する必要があります。 いちいち予約語と被っていないかなどの心配をしなくてよくするため、表名や列名は、必ず「`」で囲むように習慣付けておくのも一つの方法です。 二番目のエラーは、 「No database selected」 と言われています。 MySQLでは、MySQLクライアントからサーバに接続時、あるいは接続してから実際にSQLを実行する場合、どのデータベースを使うかを最初に指定しておく必要があります。 MySQLに接続後、最初に use データベース名 と入力することもできます。 リンク先の記事では、最初に「itbデータベースに接続」と書かれている部分が、それに該当します。 MySQLインストール時に、通常は「test」というデータベースが作成されていると思います。
- chukenkenkou
- ベストアンサー率43% (833/1926)
どういう環境なのか分からないのですが、表「123」というのは、誰のためのテーブルなのでしょうかね? 数字の表名を付けたいなら、「`」(バッククォート)で囲む必要があります。
補足
環境は windowsvista ・・・あとほかにはなにが必要でしょうか・・。 初心者で何が必要な情報なのかわからないです。 すんません。 誰のため・・・ 誰。。。テストのためだけにつくったテーブルなので 特に意味はないです。 一応英字で作ったときの エラーものせます。 No database selected dbedit.core.DataException: Couldn't execute query:create table asd (newColumn_0 BIGINT not null) java.sql.SQLException: No database selected 一番の疑問が 接続は確立されているのに なぜテーブル一覧が表示されないかが わからないです~~。 このサイトどうりやってみますた。 http://www.stackasterisk.jp/tech/java/eclipse03_02.jsp
お礼
・・・・できました。 ほんとにほんとにありがとうございました!!!!!! 2つ目の質問の答えでeclipseの設定が間違ってました! なるほどです。