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

●質問の主旨


下記のサイトを見ながら、データベースのテーブルを
インポートしようとしていますが、エラーが出ます。

この場合、phpmyadminのどこを確認すればよいでしょうか?
ご存知の方、ご教示願います。


http://www.dbonline.jp/phpmyadmin/export-import/ …


●開発環境

windows8
xammp1.8.1


●エラーの内容(添付画像)

エラー
実行した SQL:

--
-- データベース: `mydb10`
--
CREATE DATABASE `mydb10` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


MySQL のメッセージ:

#1007 - Can't create database 'mydb10'; database exists


●インポートの内容(mydb.sql)


-- phpMyAdmin SQL Dump
-- version 3.5.2.2
-- http://www.phpmyadmin.net
--
-- ホスト: 127.0.0.1
-- 生成日時: 2013 年 4 月 20 日 08:27
-- サーバのバージョン: 5.5.27
-- PHP のバージョン: 5.4.7

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- データベース: `mydb10`
--
CREATE DATABASE `mydb10` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `mydb10`;

-- --------------------------------------------------------

--
-- テーブルの構造 `db10`
--

CREATE TABLE IF NOT EXISTS `db10` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` text NOT NULL,
`address` text NOT NULL,
`tel` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

--
-- テーブルのデータのダンプ `db10`
--

INSERT INTO `db10` (`id`, `name`, `address`, `tel`) VALUES
(1, 'あああ', 'いいい', '111'),
(2, 'ううう', 'えええ', '222'),
(3, 'おおお', 'かかか', '333');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

「データベースのインポートができません(M」の質問画像

A 回答 (2件)

>#1007 - Can't create database 'mydb10'; database exists



すでに(その名前の)データベースが存在するとあります

CREATE DATABASE IF NOT EXISTS `mydb10` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

のような構文にしないとエラーになります

この回答への補足

CREATE DATABASE IF NOT EXISTS `mydb10` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

の構文は、mydb.sql(インポートのためのsqlファイル)内に
入れるのでしょうか?
また入れるとすれば、どこに入れたらよいのでしょうか?
たびたびの質問で恐れ入ります。

補足日時:2013/04/22 13:32
    • good
    • 1
この回答へのお礼

yambejpさま
ご回答ありがとうございます!
補足質問もご確認いただければ
幸いです。

お礼日時:2013/04/22 13:32

>の構文は、mydb.sql(インポートのためのsqlファイル)内に



そうですね、sqlファイルをテキストエディタで開いて
データベース名の前に「IF NOT EXISTS」を書きこむことになります

なおこのエラーが回避されても
・同じデータベース内に同じテーブル名がある
・同じテーブル内で同じユニークデータがある
場合もどうようのエラーがでると思います。

そもそもバックアップしたデータをリストアするのに別のマシンでやっているのでは
ないのですか?
同じマシンでやる限りデータを戻すときに競合するのは避けられませんね

思い切ってデータベースごと削除してしまった方が分かりやすいかもしれません。
    • good
    • 0
この回答へのお礼

たびたびのご回答ありがとうございます!

〉思い切ってデータベースごと
〉削除してしまった方が分かりやすいかもしれません。

ご指摘の通り、データベースを削除すると、
「IF NOT EXISTS」がなくても
インポートすることができました。

〉そもそもバックアップしたデータを
〉リストアするのに別のマシンでやっているのでは
〉ないのですか?

…同じマシンでやってました。
phpmyadminの操作練習の一環として
やってましたので。

その他のアドバイスも
今後の参考にさせていただきます。

お礼日時:2013/04/22 16:11

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