• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpMyAdminのSQL文実行エラー)

phpMyAdminのSQL文実行エラー

このQ&Aのポイント
  • phpMyAdminを使用してSQL文を実行する際に発生するエラーについて質問しています。
  • 具体的には、データベースの作成に関するエラーメッセージが表示されているため、解決策を求めています。
  • 初心者であるため、教本やネットでの情報収集が必要であると感じており、代替となる手順を教えてほしいと思っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

いやだから「タイプミスが3件ありました」と書いたでしょ? >tel verchar(20 default '', vercharじゃなくvarchar、かっこが閉じてない >PRIMARY KEP (book_id) KEPじゃなくKEY 文法(シンタックス)エラーの原因は大半がタイプミスです

javascriptphp
質問者

補足

有難うございます。 3か所ミスを修正しましたが、結果は同じでした。 エラー 実行した SQL: CREATE DATABASE xmas; MySQL のメッセージ: ドキュメント #1007 - Can't create database 'xmas'; database exists サーバ "127.0.0.1" 上でクエリを実行する: ドキュメント CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel varchar(20) default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEY (book_id)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>CREATE DATABASE xmas; を CREATE DATABASE if not exists xmas; に変更してください ようはすでにその名前のデータベースがあるなら作らないってことです 同じようにテーブルの作成も CREATE TABLE if not exists xmastran ( ・・・ とした方がよいでしょう ちなみに例示されたcreate table文にタイプミスが3件ありました よくよく注意された方がよろしいかと

javascriptphp
質問者

補足

 御回答まことに有難うございます。 CREATE DATABASE xmas;を CREATE TABLE if not exists xmastran に変更したところ以下のエラーが出ました。 エラー 実行した SQL: CREATE TABLE xmastran( book_id INT NOT NULL AUTO_INCREMENT , name VARCHAR( 30 ) NOT NULL DEFAULT '', org VARCHAR( 50 ) NOT NULL DEFAULT '', addr VARCHAR( 80 ) NOT NULL DEFAULT '', tel VARCHAR( 20 ) DEFAULT '', mail VARCHAR( 40 ) DEFAULT '', course VARCHAR( 30 ) DEFAULT '', nums INTEGER DEFAULT 0, PRIMARY KEP( book_id ) ) ENGINE = MYISAM DEFAULT CHARSET = utf8; MySQL のメッセージ: ドキュメント #1064 - 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 'KEP (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8' at line 10 サーバ "127.0.0.1" 上でクエリを実行する: ドキュメント CREATE DATABASE if not exists xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel varchar(20) default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEP (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

全文を見る
すると、全ての回答が全文表示されます。
noname#209234
noname#209234
回答No.1

えーと、過去の回答者様と同じ回答しかできませんが できるかわりrませんが、解説してやってみます。 まず、どんなデータベースエンジン(mySQL,Orcal,SQLServer,Postgres)も 同一のデータベース名は使えません。 構造としては、データベースエンジン→データーベース→テーブルや何やら という形です。 データベースエンジン    |    |----xmas    |__xmas2 のようにデーターベースが格納されています。 で、その中で同一のDB名は使えません。 猫や犬を複数飼って全員「タロウ」っていったらわけわからなくなりません?それと同じです。PC側がどれのこっちゃとなるのです。 では、前回の質問を書いたSQL文を細かく見ると CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel verchar(20 default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEP (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; となっています。 最初の CREATE DATABASE xmas; これは[xmas]データベースを作成しろという命令です。 そのまま続けて USE xmas; xmasデータベースを対象に操作をするとPC側に宣言します。 で、残りの部分 CREATE TABLE xmastran これは[xmastran]というテーブルを作れという命令です。(上記のxmasを操作すると宣言してるので) と考えれば、方法は二つあります。一つは同一のDBが作れないんですから 上記の文から[CREATE DATABASE xmas;]を消して[Use~]からはじめる もう一つは、前回回答者様seastar3様がお書きになった DROP DATABASE xmas 意味はデーターベースを削除するです(空にすると削除するでは大きく意味が違います。これは自分でしらべてください) を実行し、一度[xmas]DBを削除してから再度[CREATE DATABASE xmas;]を実行するかです。 その後の操作では、上記と同じく[CREATE DATABASE xmas;]は必要ありません。 わかりづらいかと思いますが、がんばってください。

javascriptphp
質問者

補足

有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • phpMyAdminのSQLで、SQL文を登録が

     phpMyAdminのSQLで SQL文を登録するため、以下のエラーメッセージの中にあるCREATE DATABASE xmas;で始まる  SQL文を実行したところ、以下のエラーメッセージがでて、登録でできずに困っています。  どうしたら登録できますか!?    宜しくお願いします。    エラー 実行した SQL: CREATE DATABASE xmas; MySQL のメッセージ: ドキュメント #1007 - Can't create database 'xmas'; database exists サーバ "127.0.0.1" 上でクエリを実行する: ドキュメント CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel verchar(20 default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEP (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    • ベストアンサー
    • MySQL
  • どうしてエラーになるのですか?

    kouzou@GD348ZZD9:/var/www/html$ sudo mysqladmin create wordpress -p [sudo] kouzou のパスワード: Enter password: mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'wordpress'; database exists' kouzou@GD348ZZD9:/var/www/html$ sudo mysqladmin create wordpress -p Enter password: mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'wordpress'; database exists' kouzou@GD348ZZD9:/var/www/html$ sudo mysqladmin create wordpress -p Enter password: mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'wordpress'; database exists'

    • ベストアンサー
    • MySQL
  • SQL文を入力したらエラー

     phpMyAdminでSQLに  以下の文を入力しました。  CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default ' ' , org varchar(50) not null default ' ', addr varchar(80) not null default' ', tel varchar(20) default ' ', mail varchar(40) default ' ', course varchar(30) default ' ', nums integer default 0, PRIMARY KEY (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;  以上SQLに入力した文ですが!  以下のエラーが出て先に進みません。   エラー 実行した SQL: CREATE DATABASE xmas; → (http://dev.mysql.com/doc/refman/5.5/en/create-database.htmlにリンクされている) MySQL のメッセージ: ドキュメント #1007 - Can't create database 'xmas'; database exists サーバ "127.0.0.1" 上でクエリを実行する: CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default ' ' , org varchar(50) not null default ' ', addr varchar(80) not null default' ', tel varchar(20) default ' ', mail varchar(40) default ' ', course varchar(30) default ' ', nums integer default 0, PRIMARY KEY (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;   以上ですが、何が原因で進めないか原因を追及中です。  最近SQLを始めたので、全く見当がつきません。 皆様よろしくお願いします。  

    • ベストアンサー
    • MySQL
  • mysqladmin?

    $ sudo mysqladmin create wordpress -p [sudo] kouzou のパスワード: Enter password: mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'wordpress'; database exists' 上記のエラーはどうすればエラーが消えますか? どうか、教えてください。 ご回答の程、宜しくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • 【Bシェル】戻り値取得について

    はじめまして。 Bシェルでの開発が初めてで、色々と調べてはみたのですが どうしても解決できなかったため投稿させて頂きました。 お忙しい中大変恐縮ですが、ご教授頂けると幸いでございます。 【やりたい事】  →例えば、"mysqladmin -uUSER_NAME -pPASSWORD create DB_NAME"と    いうコマンドをBシェル内に書き、既にDBが登録されていた場合、    "mysqladmin: CREATE DATABASE failed; error: 'Can't create database 'DB_NAME';     database exists'"    というエラーメッセージが出力されると思いますが、そのエラーメッセージ    を変数に入れたい。 以上、ご確認をお願い致します。

  • SQLにプログラムが反映されないのは何故

    XAMPP Version: 1.8.2 です。   Xamsのデータベースをデータベースから削除した後  SQLから、以下2個プログラムを入力しました。  すると、削除したにも関わらず、エラーが出て プログラムが反映されません。  Xamsを削除後、再起動したらまたXamsのデータベースが 再構築されます。  私は作成した記憶はありません。  すでに存在しているので、作成しする必要は ないのか、よくわかりません!?  皆様どう思われますか!?  以下入力したプログラムです。 ---------------------------------------------------------------- CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel varchar(20) default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEY (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; エラー 実行したSQL: DATABASEクリスマスを作成します。 のMySQLのメッセージ:ドキュメント #1007 - データベース'クリスマス'を作成できません、データベースが存在している -------------------------------------------------- CREATE DATABASE if not exists xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel varchar(20) default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEY (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; エラー 実行したSQL: TABLE xmastranを(CREATE book_idのINT NOT NULL AUTO_INCREMENT、 名VARCHAR(30)NOT NULL DEFAULT''を、 orgのVARCHAR(50)NOT NULL DEFAULT''を、 addrはVARCHAR(80)NOT NULL DEFAULT''を、 電話VARCHAR(20)DEFAULT''を、 メールVARCHAR(40)DEFAULT''を、 もちろんVARCHAR(30)DEFAULT''を、 numsはINTEGERのデフォルトは0、 PRIMARY KEY(book_id) )ENGINE = MYISAM DEFAULT CHARSET= utf8を; のMySQLのメッセージ:ドキュメント #1050 - テーブル 'xmastran'は既に存在します。 ------------------------------------------------------------------- 以上よろしくお願いします。

    • ベストアンサー
    • MySQL
  • データベース作成について教えてください

    depot>mysql -u root -p Enter password:****** Welcome to the MySQL moniter. Commands end with ; or \g. mysql>create database depot_development; ここでエンターを押すと ERROR 1007 (HY000):Can't create database 'depot_development';database exists このようなエラーが出て困っています・・・ どのような原因が考えられますか? 教えてください!

    • ベストアンサー
    • MySQL
  • 【至急】さくらサーバーMySQLインポート出来無

    誰か助けて下さい!! さくらインターネットのデータベースで、 MySQLのヴァージョンが低くて、 設置不能のブログ(ワードプレス等)があったので、 ヴァージョンを最新する方法を探していました。 「一回消して再登録する」という記事を読んで、 バックアップも取った上で再登録したのですが、 データをインポートできません。 以前のものは mysql24.db.sakura.ne.jp 今回のは mysql443.db.sakura.ne.jp です。 エクスポートしたデータは「SQL」 「SQL圧縮」「 CSV 」の3つで保存してあります。 再度データベースを作るときにデータベース名を入力する欄がありましたが 以前使っていたものには、そんな入力は要求されなかったような気がします。 もしかしたら、それが原因かも…と思っているのですが、 お分かりになる方いらっしゃいませんでしょうか。 エラーはこちら *-------------------------* エラー 実行した SQL: -- -- データベース: `aaa_01` -- CREATE DATABASE `aaa_01` ; MySQLのメッセージ: #1007 - Can't create database 'aaa_01'; database exists *------------------------------*

  • ERROR 1044

    MySQLでデータベースを作成しようと思い、 create database abc; と実行すると、 ERROR 1044 (42000): Access denied for user: ''@'localhost' to database 'abc' とエラーが表示されます。 どうしたらいいんでしょうか?

  • MySQLにSQLを実行できない

    こんにちは。 今MySQLを勉強中なのですが、以下のようなエラーが解決できずに困っています。 どなたかお助けよろしくお願いいたします。 状況と致しまして、 レンタルサーバーにphpMyAdminを設置し 管理者に与えられたデータベースに「MLB」というテーブルを作成(特権なし)しました。 そこで以下のような単純なphpを組んで読み込んで見ることにトライしたのですが <?php //サーバーに接続 $my_Con = mysql_connect("localhost","データベース名","パスワード"); if($my_Con == false){ die("MYSQLの接続エラー"); }else{ echo "接続成功<br>"; if(mysql_select_db("データベース名",$my_Con)){ echo "データベースにアクセス成功<br>"; $my_Row = mysql("SELECT * FROM MLB",$my_Con); if(!$my_Row){ die(mysql_error()); } while($row = mysql_fetch_array($my_Row)){ echo $row["id"]; echo $row["stadium"]; echo "<br>"; } }else{ die("データベースへのアクセスエラー"); } } ?> 以下のようなエラーが出てしまい解決できない状態です。 接続成功 データベースにアクセス成功 Access denied for user 'データベース名'@'localhost' to database 'SELECT * FROM MLB' これは特権なしが影響しているのかな?とも考えたのですが、 調べてみた所、 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ root で接続をしようとする場合に、次のようなエラーが出るときには、'root' の User フィールドに、user テーブルのエントリがないことを示します。そのため、mysqld がクライアントのホスト名を識別できない状態です。 Access denied for user ''@'unknown' to database mysql この場合、--skip-grant-tables オプションでサーバを立ち上げ、/etc/hosts ファイル、または \windows\hosts で、ホストのエントリを付加します。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ 解決になるらしいのですが、これはレンタルサーバー側に何か問題があるということでしょうか? どのように解決すればよいか、どなたかご教授をよろしくお願いいたします。

    • ベストアンサー
    • MySQL