
●質問の主旨
下記のサイトを見ながら、データベースのテーブルを
インポートしようとしていますが、エラーが出ます。
この場合、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 */;

No.2ベストアンサー
- 回答日時:
>の構文は、mydb.sql(インポートのためのsqlファイル)内に
そうですね、sqlファイルをテキストエディタで開いて
データベース名の前に「IF NOT EXISTS」を書きこむことになります
なおこのエラーが回避されても
・同じデータベース内に同じテーブル名がある
・同じテーブル内で同じユニークデータがある
場合もどうようのエラーがでると思います。
そもそもバックアップしたデータをリストアするのに別のマシンでやっているのでは
ないのですか?
同じマシンでやる限りデータを戻すときに競合するのは避けられませんね
思い切ってデータベースごと削除してしまった方が分かりやすいかもしれません。
たびたびのご回答ありがとうございます!
〉思い切ってデータベースごと
〉削除してしまった方が分かりやすいかもしれません。
ご指摘の通り、データベースを削除すると、
「IF NOT EXISTS」がなくても
インポートすることができました。
〉そもそもバックアップしたデータを
〉リストアするのに別のマシンでやっているのでは
〉ないのですか?
…同じマシンでやってました。
phpmyadminの操作練習の一環として
やってましたので。
その他のアドバイスも
今後の参考にさせていただきます。
No.1
- 回答日時:
>#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ファイル)内に
入れるのでしょうか?
また入れるとすれば、どこに入れたらよいのでしょうか?
たびたびの質問で恐れ入ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Oracleのsystem表領域について
-
2台のサーバー間でのテーブル...
-
SQLServer(MSDE)のデータベー...
-
「テーブルに座って……」という...
-
AccessのSQL 部分一致したデー...
-
テーブルで一番古いレコードだ...
-
降順で並び替えて昇順で受け取...
-
SQLで複数列のデータを複数行に...
-
SQLでUPSERTを一度に複数行やる...
-
外部キーだけのテーブル(主キ...
-
飲み会で、座敷orテーブルどち...
-
会社の飲み会の幹事になり、座...
-
SQLでSUMなどの関数でデータが...
-
テーブルに存在しない列をselec...
-
ORA-01401が表示され、データが...
-
コンボボックスにレコードセッ...
-
まるいテーブル 円い 丸い 漢字...
-
面接のときテーブルが正面に。...
-
SELECT 文の NULL列は?
-
トリガって、自分自身のテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
他のデータベースとのテーブル結合
-
Oracleのsystem表領域について
-
ACCESS アクセスで他のデータ...
-
2台のサーバー間でのテーブル...
-
Visuaal Studio Community 2022...
-
SQliteの日付検索について
-
Notion@リレーション値の取得...
-
QSL でのフォーム画面作成について
-
Accessでテーブルを外だしにす...
-
Microsoft Access:クエリのフ...
-
Accessで2種類のデータベースを...
-
SQL Server 2000 テーブル未使...
-
コマンドラインオプションにパ...
-
データベースのレコード内容が...
-
テーブル単位のエクスポート、...
-
構造が同じ別テーブルInsert In...
-
一つのMySQLデータベースで、複...
-
データベース単位でのCSV出力方...
-
データベースを複数作ったほう...
-
SQLServer(MSDE)のデータベー...
おすすめ情報