• ベストアンサー
  • すぐに回答を!

データベースのインポートができません(MySQL)

●質問の主旨 下記のサイトを見ながら、データベースのテーブルを インポートしようとしていますが、エラーが出ます。 この場合、phpmyadminのどこを確認すればよいでしょうか? ご存知の方、ご教示願います。 http://www.dbonline.jp/phpmyadmin/export-import/index3.html ●開発環境 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 */;

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数3299
  • ありがとう数2

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

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

>の構文は、mydb.sql(インポートのためのsqlファイル)内に そうですね、sqlファイルをテキストエディタで開いて データベース名の前に「IF NOT EXISTS」を書きこむことになります なおこのエラーが回避されても ・同じデータベース内に同じテーブル名がある ・同じテーブル内で同じユニークデータがある 場合もどうようのエラーがでると思います。 そもそもバックアップしたデータをリストアするのに別のマシンでやっているのでは ないのですか? 同じマシンでやる限りデータを戻すときに競合するのは避けられませんね 思い切ってデータベースごと削除してしまった方が分かりやすいかもしれません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

たびたびのご回答ありがとうございます! 〉思い切ってデータベースごと 〉削除してしまった方が分かりやすいかもしれません。 ご指摘の通り、データベースを削除すると、 「IF NOT EXISTS」がなくても インポートすることができました。 〉そもそもバックアップしたデータを 〉リストアするのに別のマシンでやっているのでは 〉ないのですか? …同じマシンでやってました。 phpmyadminの操作練習の一環として やってましたので。 その他のアドバイスも 今後の参考にさせていただきます。

関連するQ&A

  • perlのDBIよりMysqlにアクセスすると

    perlのDBIよりMysqlにアクセスすると DBD::mysql::db do failed: Data too long for column...のエラーが発生します。 つまり長すぎるデータを格納しようとしてエラーが出ているようです。 格納するデータの文字コードはutf-8です。 カラムは試しにvarchar(255)にしていますので、おそらく文字コードが原因ではないかと推測しています。 phpMyAdminから SHOW VARIABLES;コマンドを実行したところ 文字コード関係は以下の設定です。 character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server sjis character_set_system utf8 character_sets_dir C:\Program Files\MySQL\MySQL Server 5.0\share\char... collation_connection utf8_general_ci collation_database utf8_general_ci collation_server sjis_japanese_ci 開発環境は MySQL - 5.0.24-community-nt phpMyAdmin - 2.8.2.2 MySQL クライアントバージョン: 4.1.7 OS;WIN_XP Active Perl 5.8.8 です。 お気付きの点がございましたらご指摘宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • MYSQLでの文字化け

    php(utf-8)を使ってmysqlで簡単なサイトを作ってみましたが, 日本語をフォームから入力して、表示するとき、ブラウザではまったく問題ないのですが、 phpMYadminでデータベースを開くとの日本語部分が文字化けして読めません。 ローカルでは問題ないので、サーバーの問題かとおもい、 他のサーバー(ロリポップ)にphpとsqlをテストでコピーしてみましたら大丈夫でした。 何かの設定かと思い、 mysql> SHOW VARIABLES LIKE 'char%';でチェックし比べてみたところ 正常(ローカル、ロリポップともに)のものは character set client utf8 character set connection utf8 character set database utf8 なのに 文字化けするほうは(北米のサーバー) character set client latin1 character set connection latin1 character set database latin1 でした。文字コードのデフォルトが違うからだと思い、ググって見たところ、 結構よくある問題で、my.cnf でデフォルト文字設定utf-8に変更するなどで解決できるとありました。 でも、使っているサーバーは予めphpMYadminがインストールされているレンタルサーバーであるのでmy.cnfはさわれないのでは??? サーバー会社に連絡して変更可能かと聞いたところ、my.cnfを変更することはできません。またデータベースのサポートはいたしません。と冷たく返答。サーバー会社を変えたいところですが、自分が借りたサーバーではないのでそのまま使うしかありません。 ただ、教わった、sqlコマンドからALTER DATABASE <your_database_name> CHARACTER SET utf8 COLLATE utf8_general_ci を実行したところcharacter set databaseのみutf8になりました。(文字化けは一緒) character set connection とcharacter set database をmy.cnfをいじらず、sqlコマンドで変更可能なのでしょうか? もし、無理ならばどのような方法があるのでしょうか? サイトのフォームからの送信と受信はUTF-8に設定しています。 (だからだとおもいますが、ブラウザの表示だけは文字化けせずにでます。) お知恵がありましたらよろしくお願いします。

    • ベストアンサー
    • MySQL
  • mysql文字化けについて

    mysqlで文字化けしてしまいます +--------------------------+----------------------------------------+ | character_set_client | sjis | | character_set_connection | sjis | | character_set_database | sjis | | character_set_results | sjis | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | D:\App\Dev\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------+ となっているのですが 文字化けがなおりません どうすれば治るのでしょうか?

その他の回答 (1)

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

>#1007 - Can't create database 'mydb10'; database exists すでに(その名前の)データベースが存在するとあります CREATE DATABASE IF NOT EXISTS `mydb10` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; のような構文にしないとエラーになります

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

質問者からの補足

CREATE DATABASE IF NOT EXISTS `mydb10` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; の構文は、mydb.sql(インポートのためのsqlファイル)内に 入れるのでしょうか? また入れるとすれば、どこに入れたらよいのでしょうか? たびたびの質問で恐れ入ります。

関連するQ&A

  • phpMyAdimnとコマンドラインでのSQL結果

    phpMyAdimnとコマンドラインで現在の文字コードを取得すると結果がことなる。 文字コードを調べる為に「show variables like 'char%';」を phpMyAdminLとコマンドラインで上で流したのですが結果がことなります。 phpMyAdmin character_set_client utf8 character_set_connection sjis character_set_database latin1 character_set_filesystem binary character_set_results utf8 character_set_server sjis character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ コマンドライン character_set_client | sjis | character_set_connection | sjis | character_set_database | sjis | character_set_filesystem | binary | character_set_results | sjis | character_set_server | sjis | character_set_system | utf8 | character_sets_dir | /usr/share/mysql/charsets/ my.cnfで下記の設定を行っております。 [mysqld] character-set-server = sjis collation-server = ujis_japanese_ci skip-character-set-client-handshake [mysql] default-character-set=sjis [client] default-character-set=sjis 日本語文字も正しく登録、更新できphpMyAdminでも正しく表示されていると思うのですが phpMyAdminで結果が異なるのが気になり質問させていただきました。 phpMyAdminでの結果は無視しても問題ないのでしょうか。 環境 CentOs 5.7 Mysql 5.5.17 phpMyAdimn 3.4.7 php 5.3

    • ベストアンサー
    • MySQL
  • MySQLの日本語文字化け対策

    Mysqlでの日本語文字化け対策がうまくいかなくて困っています。 いくつもの参考ページを検索で探し、実行してみたのですが、どうにもうまくいきません。 insert into tbl values('あああ');のように、cmdに打っている時点では日本語は表示できています。 しかしselectで呼び出すと、'?f?u???'といった表記に化けてしまいます。 phpMyAdminでの表記も同様に化けます。 下記に環境と施した対策を記しますので、原因がわかる方のアドバイスをお待ちしております。 window7 64bit Xampp1.8.0 Apache 2.4.2 MySQL 5.5.25a PHP 5.4.4 phpMyAdmin 3.5.2 参考記事 http://blog.livedoor.jp/ryo511-web/archives/4915440.html cmd上でshow variables like "char%"でキャラクタセットを確認したところ character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_results utf8 character_set_server utf8 character_set_system utf8 と、表示上は意図したとおり、utf-8になっているようです。

  • CSVをMYSQLにインポートすると文字化けする

    XAMPPでmysqlを使ってます。 CSVをインポートするとUTF-8が文字化けしてしまいます。詳しくわかる方いましたらお知恵をお貸しください。 まず、mysqlの設定ですが show variables like 'char%'; をおこなうと +--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\xampp\mysql\share\charsets\ | +--------------------------+--------------------------------+ 8 rows in set (0.05 sec) となっています。 次に、アップロードするCSVですが、 1回目は、terapadを愛用しているので、terapadの機能でUTF-8に変換して保存したのですが、インポートすると文字化けしてしまいました。 次は、エクスプローラーでUTF-8に変換したファイルを読み込むと文字化けしており、エクスプローラーのエンコードで文字コードをUTF-8に変換し保存したものを、CSVに変換してインポートしたのですが、やっぱり文字化けしてしまいました。 私の知識ではこれ以上手がないのでなにかあたらしい突破口や間違いがあれば教えてください。

    • ベストアンサー
    • MySQL
  • MySQLの文字化け

    MySQLにPHPでデータを入力しています。 utf8でデータを送信しています。 どうも MySQLの設定がうまくできてないようです。 どこを どうやって変えたらよいのでしょうか? mysql> show variables like 'char%'; +----------------------+-----------------------+ | Variable_name        | Value             | +----------------------+-----------------------+ | character_set_client    | cp932             | | character_set_connection  | cp932             | | character_set_database   | latin1             | | character_set_filesystem  | binary             | | character_set_results  | cp932             | | character_set_server   | latin1             | | character_set_system   | utf8              | | character_sets_dir     | C:\xampp\mysql\share\charsets\ | +----------------------+-----------------------+

    • ベストアンサー
    • PHP
  • PHPとmysqlでの文字化けについて

    現在PHPとMySQLを利用したwebシステムを作成しています。 しかし文字化けが発生して困っています。こちらの環境は PHP5.1.4 MySQL5.1.11 phpMyAdmin - 2.8.0-rc1 レンタルサーバー(xrea)を使っています。 自分でいろいろと調べたところ文字のエンコードはujisに統一したほうがいいとのことまではわかりました。 show variables like "char%"; を実行したところ character_set_client utf8 character_set_connection sjis character_set_database ujis character_set_filesystem binary character_set_results utf8 character_set_server utf8 character_set_system utf8 このように表示されます。 PHPの方も <?php header('Content-Type:text/html; charset=EUC-JP'); ?> や <?php $str = mb_convert_encoding($str, "EUC-JP", "auto"); ?> を実行しても日本語の部分は???で表示されてしまいます。 いろいろと調べたのですが、さっぱり原因がわかりません。 よろしくお願いします。

  • mysqlコマンドだけ文字化け

    WinXPでxampp1.6.6aを使っています。 文字コードはutf8で設定したく説明しているサイトを探しmy.cnfを 下記のように修正および追加しました。 [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 phpadminから確認すると日本語も文字化けせずに表示されるのですが なぜかコマンドから確認すると日本語が文字化けしてしまいます。 おなじような質問がありなんとかできるものかと思い確認したのですが 特に設定が間違っているようではなく解決策がみつかりません・・・ 文字化けせずに表示させるためにはどうすればいのでしょうか? show variables like 'char%'の結果は下記の通りです。 +--------------------------+----------------------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\xampp\mysql\share\charsets\ | +--------------------------+----------------------------------------------+

    • ベストアンサー
    • PHP
  • MAMPのMySQLで文字化けする

    すみません、教えてください(><) mac( os X 10.7.5)でMAMP+Eclipse+PHPを使って以下のようにMySQLにデータ挿入 mysql_connect('localhost','root','root') or die(mysql_error()); mysql_select_db('mymy'); mysql_query('SET NAMES UTF-8'); mysql_query('INSERT INTO item SET id=1, name="あいうえお"'); をしたのですが、 phpMyadminからデータを確認してみると日本語が文字化けしてしまいます。 (phpMyadminからデータを挿入した場合はちゃんと表示されます。) 色々と調べ、 Eclipseの環境設定でワークスペースの文字コードやphpの文字コードをUTF-8にしたり、 MySQLのmy.cnfファイルの中に以下 [client] default-character-set = utf8 [mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_unicode_ci init-connect = SET NAMES utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 を追加して再起動し、DBを一旦削除して再度作り直して挿入してみたりとやったのですが、改善されません。 サーバ接続の照合順序 は「utf8_general_ci」として作成しています。 コンソールからMySQLへ接続してDBの文字コードを確認してみると character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /Applications/MAMP/Library/share/charsets/ | というかたちになっています。 他にどういった点を改善すればいいのでしょうか? もうお手上げ状態でどうすることも出来ずにいます。。。

  • phpmyadmin の文字コード

    現在xammpを利用して製作を進めています。 データベースに日本語を打ち込んだ際???と表示がされており原因を探ったところphpmyadmin の文字コードの問題だと行き着きました。 で、『サーバー接続照合順序』を utf8 に設定しようとしたのですが、なぜか強制的に utf8mb4 に変更されてしまいます。 表示は???のままです。 SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8; をsqlに打ち込んでもやはりmb4になってしまいます。 なぜでしょうか?どのように対応したらいいですか?

    • 締切済み
    • PHP
  • MYSQLの文字化けについて

    MYSQLの文字化けについて質問させてください。 MYSQL COMMAND LINE CLIENTでMYSQLに作ったデータベースに下記のSQL文でデータを入れると、下記のエラーが出ます。 sql 「insert into テーブル名 (id、type)values (1,'男性’);」 エラー文 incorrect string value: '入力文字が文字化けして表示’for column 'type’at row 1 文字化け対策として、調べたところ、下記のように「my.ini」に記述すると言うことでしたので、試してみました。 [mysql] default-character-set=utf8 [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set =utf8 ちなみにその他情報です。 MySQLのバージョン MySQL 5.1 MySQLで有効になっている文字コード character_set_client | utf8 character_set_connection | utf8 character_set_database | utf8 character_set_filesystem | binary character_set_results | utf8 character_set_server | utf8 character_set_system | utf8 何かお解かりになることがありましたら、宜しくお願いします。

  • MySQLのCharacter_set

    PHPとSQLで投稿サイトを作成中の初心者です。 いままでsjisで統一してきたものを、character_setをutf8に変換したく、 MySQL\MySQL Server 5.0\my.ini ファイルの default-character-set=sjis となっていたところをすべて default-character-set=utf8 に変え、 show variables like 'character_set%'; で確認しましたが、下記の状態となり、いくつかutf8 にかわってくれません。 +--------------------------+---------------------------------------------------------+ | Variable_name | Value | +--------------------------+---------------------------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | sjis | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | sjis | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ | +--------------------------+---------------------------------------------------------+ 残りのdatabase, filesystem, serverもutf8にしたいと思い。 my.iniファイルが他の場所にあるのかいろいろさがしていますが、まだ見つけられません。 どこを調べて、どこを変えればよいのか、お分かりの方いましたらご教授ください。 また、もしかすると全てutf8にしなくても良いのかも知れませんが、いろいろ調べていると皆さん統一されて いるようにお見受けしたので恐らく統一すべきなんだろう、と解釈しています。 MySQL Command Line Clientで 設定ファイルを読みにいく順番と場所を示してくれるコマンドとかないでしょうか? 稚拙な質問で恐縮ですが、どなたかご指南よろしくお願いいたします。

    • ベストアンサー
    • MySQL