アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://okwave.jp/qa/q8209284.html
 以上の質問で、まだ解決には至っていません!?
 御回答をいただいたのですが、私にはその意味が分かりませんでしたので
再度質問しました。
 初めてすることは、手探り状態なので、苦労しています_ _!

 教本を読んでも、エラー対策などは
、何も書かれておらず、ネットで一生懸命、状況を説明して、解決するしか、方法
はないので、宜しくお願致します。
 
 それで、エー・っと 
 
 #1007 - Can't create database 'xmas'; database existsの
”エラーメッセージ”をGoogle翻訳で直訳したら
 
”#1007 - データベース'クリスマス'を作成できません、データベースが存在している”
 とでて、原因として、”データベースが存在している”からできない!?
 
 うーん よく分かりませせん
どなたか、こうゆう場合の解決策として、代替でいいですので、手順を箇条書きにして、教えて
もらっていいでしょうか!^^
 1)・・・
 2)・・・
 3)・・・
 以上宜しくお願いします。

A 回答 (3件)

えーと、過去の回答者様と同じ回答しかできませんが


できるかわり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;]は必要ありません。

わかりづらいかと思いますが、がんばってください。

この回答への補足

有難うございました。

補足日時:2013/08/10 14:21
    • good
    • 1

>CREATE DATABASE xmas;




CREATE DATABASE if not exists xmas;
に変更してください

ようはすでにその名前のデータベースがあるなら作らないってことです
同じようにテーブルの作成も

CREATE TABLE if not exists xmastran ( ・・・
とした方がよいでしょう

ちなみに例示されたcreate table文にタイプミスが3件ありました
よくよく注意された方がよろしいかと

この回答への補足

 御回答まことに有難うございます。
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;

補足日時:2013/08/09 05:52
    • good
    • 1

いやだから「タイプミスが3件ありました」と書いたでしょ?



>tel verchar(20 default '',

vercharじゃなくvarchar、かっこが閉じてない

>PRIMARY KEP (book_id)

KEPじゃなくKEY

文法(シンタックス)エラーの原因は大半がタイプミスです

この回答への補足

有難うございます。
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)

補足日時:2013/08/10 14:10
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!