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

SQL文を入力したらエラー

このQ&Aのポイント
  • SQL文を入力したらエラーが発生し、先に進めません。原因を追及中です。
  • 先日、phpMyAdminで以下のSQL文を入力しましたが、エラーが出ています。
  • MySQLのメッセージによると、データベースが既に存在しているため、作成できないようです。

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

  • ベストアンサー
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.3

エラーメッセージをちゃんと読みましたか? xmasというデータベースとxmastranというテーブルを作るSQLになっていますが、 xmasデータベースがすでに存在しているというエラーです。 xmasデータベースを消した上でSQLを流すか、  CREATE DATABASE xmas; の一文を消したSQLを流してください。

javascriptphp
質問者

お礼

ありがとうございました。  phpMyadminの一番左画面にある  xamsを削除したのち、教本通りのプログラムの登録ができました。 [xmasデータベースがすでに存在しているというエラーです。] xmasの削除方法がよくわかりませんでした。 だいぶ、慣れてきました。  現在Apache2.2が起動できなくなっています。  パソコンに付き物の「一難去ってまた一難」 です。

javascriptphp
質問者

補足

 ありがとうございます。  どの部分で以下の判断ができますか!? A:xmasデータベースがすでに存在しているというエラー

その他の回答 (6)

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

以前から全く進んでいないようで残念です >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)
回答No.6

> #1050 - Table 'xmastran' already exists >  (#1050 - テーブル 'xmastran'は既に存在します) >  最初と似たようなエラーがでました。 > どこを、どう変えれば、解決しますか!? いちいち聞いていてはいつまでたっても力はつきません。 まず落ち着いて、頭を使いましょう。 xmastranテーブルが存在するのに同名のテーブルを作成しようとするからエラーが出ているのです。 じゃあどうすればいいのか? ・既存のxmastranテーブルを削除してから再度CREATE TABLEする(テーブルに登録されているデータは消えます) ・既存のxmastranテーブルのテーブル定義を変更したいだけならALTER TABLEで変更する ・違う名前でCREATE TABLEする といった方針が考えられます。 方針が決まったなら、どういうSQLを実行すればいいのか調べてください。

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.5

>ありがとうございます。 >どの部分で以下の判断ができますか!? #1007 - Can't create database 'xmas'; database exists  この英文の部分を日本語にすると、「'xmas'という名前のデータベースは作ることが出来ません。データベスは既に存在しています。」となります。(ちょっと意訳込み)  これで、どこに書いてあるか解りますね。

javascriptphp
質問者

補足

ありがとうございます。  とりあえず、よくわからなかったので、以下の  文にしたら、  #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)
回答No.4

> どの部分で以下の判断ができますか!? > > A:xmasデータベースがすでに存在しているというエラー Can't create database 'xmas'; database exists の一文です。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.2

>addr varchar(80) not null default' ', ではなく addr varchar(80) not null default ' ', かな

回答No.1

default の後にスペースが無い箇所が有るが、 それは転記ミスでしょうか?

関連するQ&A