- ベストアンサー
SQL文を入力したらエラー
- SQL文を入力したらエラーが発生し、先に進めません。原因を追及中です。
- 先日、phpMyAdminで以下のSQL文を入力しましたが、エラーが出ています。
- MySQLのメッセージによると、データベースが既に存在しているため、作成できないようです。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
エラーメッセージをちゃんと読みましたか? xmasというデータベースとxmastranというテーブルを作るSQLになっていますが、 xmasデータベースがすでに存在しているというエラーです。 xmasデータベースを消した上でSQLを流すか、 CREATE DATABASE xmas; の一文を消したSQLを流してください。
その他の回答 (6)
- yambejp
- ベストアンサー率51% (3827/7415)
以前から全く進んでいないようで残念です >CREATE DATABASE xmas; ではなく、以下としてください CREATE DATABASE if not exists xmas; >USE xmas; phpMyAdminを利用しているならuse文は利用せずに、左のリストから選んでください >CREATE TABLE ・・・ も、「if not exists」で処理してください。 CREATE TABLE if not exists 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; もしくはcreate tableする前に drop table if exists xmastran; として、テーブルを削除しても構いません
- Picosoft
- ベストアンサー率70% (274/391)
> #1050 - Table 'xmastran' already exists > (#1050 - テーブル 'xmastran'は既に存在します) > 最初と似たようなエラーがでました。 > どこを、どう変えれば、解決しますか!? いちいち聞いていてはいつまでたっても力はつきません。 まず落ち着いて、頭を使いましょう。 xmastranテーブルが存在するのに同名のテーブルを作成しようとするからエラーが出ているのです。 じゃあどうすればいいのか? ・既存のxmastranテーブルを削除してから再度CREATE TABLEする(テーブルに登録されているデータは消えます) ・既存のxmastranテーブルのテーブル定義を変更したいだけならALTER TABLEで変更する ・違う名前でCREATE TABLEする といった方針が考えられます。 方針が決まったなら、どういうSQLを実行すればいいのか調べてください。
- mitoneko
- ベストアンサー率58% (469/798)
>ありがとうございます。 >どの部分で以下の判断ができますか!? #1007 - Can't create database 'xmas'; database exists この英文の部分を日本語にすると、「'xmas'という名前のデータベースは作ることが出来ません。データベスは既に存在しています。」となります。(ちょっと意訳込み) これで、どこに書いてあるか解りますね。
補足
ありがとうございます。 とりあえず、よくわからなかったので、以下の 文にしたら、 #1050 - Table 'xmastran' already exists (#1050 - テーブル 'xmastran'は既に存在します) 最初と似たようなエラーがでました。 どこを、どう変えれば、解決しますか!? よろしくお願いします。 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;
- Picosoft
- ベストアンサー率70% (274/391)
> どの部分で以下の判断ができますか!? > > A:xmasデータベースがすでに存在しているというエラー Can't create database 'xmas'; database exists の一文です。
- maiko0318
- ベストアンサー率21% (1483/6969)
>addr varchar(80) not null default' ', ではなく addr varchar(80) not null default ' ', かな
- Hayashi_Trek
- ベストアンサー率44% (366/818)
default の後にスペースが無い箇所が有るが、 それは転記ミスでしょうか?
お礼
ありがとうございました。 phpMyadminの一番左画面にある xamsを削除したのち、教本通りのプログラムの登録ができました。 [xmasデータベースがすでに存在しているというエラーです。] xmasの削除方法がよくわかりませんでした。 だいぶ、慣れてきました。 現在Apache2.2が起動できなくなっています。 パソコンに付き物の「一難去ってまた一難」 です。
補足
ありがとうございます。 どの部分で以下の判断ができますか!? A:xmasデータベースがすでに存在しているというエラー