はじめまして。
レンタルサーバーで、MySQLを利用しています。
利用しているレンタルサーバーは、TELNETなどは利用できず、MySQLのデータベースを管理するのに、phpMyAdminを利用するようになっています。
用意したCSVファイルをサーバーのデータベースにインポートしたら、csvファイルが2MBを超えており、phpMyAdminの管理画面のインポートからは、2MB以内に分割しないとアップできませんでした。
分割するのが面倒なので、1回でインポートできないかと思い調べたら、
SQLで、LOAD DATA INFILE でインポートできないかと思い試してみました。
最初は、LOCALというのを入れずにやったらエラーが出たのですが、これは、同じサーバーにアップされたファイルからインポートというこなので、権限がないので無理ということがわかりました。
そこで、LOCALをつけて試しました。
●試したSQLの内容
LOAD DATA LOCAL INFILE 'c:\mihon.txt' REPLACE INTO TABLE test FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
上記をphpMyAdminのSQLのとろこで、実行したのですが、エラーなどは表示されずに完了するのですが、データはインポートされていませんでした。
レンタルサーバーで、phpMyAdminを利用している場合に、LOAD DATA INFILEでファイルをインポートできないのでしょうか?上記のSQLの書き方に問題があるのでしょうか?
初心者なのであまりうまく説明できませんが、大容量のCSVファイルをphpMyAdminからアップするには、なにかよい方法はありますでしょうか?
ご回答よろしくお願い致します。
●サーバーの環境
・MySQL利用可能で、phpMyAdminでのみ利用可能
・データベースは、ユーザーサーバーとは別に設置
・MySQLのバージョンは、4.0.26
・phpMyAdminのバージョンは、2.7.0
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
phpMyAdminなら、MySQLのシステム変数の参照ができるでしょうか?
そこで、local infileがONになっているかどうか確認されてみてはどうでしょう?
どのバージョンからか、MySQLのデフォルトではLOCALがOFFになっているような
話を聞いたことが有ります。
構文的には、構造やデータ内容等状況が良くわからないのですが、
もしかしたら行末は、次のようになるかもしれないですね。
LINES TERMINATED BY '\r\n'
この回答への補足
ご回答ありがとうございます。
phpMyAdminでMySQLのシステム変数を参照してみたら、local infileはセッション値、グローバル値の両方の項目で、ONになっています。
動作テストのために作ったテーブルの構造は、2つのフィールドからなるテーブルです。
------------
ID | name
-------------
インポートするファイルは、カンマ区切りで、ファイルの保存するときに、エンコードの種類は、日本語(EUC)の改行コードは、LFで保存してあります。
宜しくお願い致します。
ご回答いただき、ありがとうございまいた。
なかなかうまく作動せず、PHPで1行ずつ追加する形で、なんとかやれるようになりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Access(アクセス) Access2016のExcelインポートの機能のことで教えてください 1 2022/09/11 14:58
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- XML PHP.laravelについて 1 2023/07/06 15:26
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Chrome(クローム) ブラウザのブックマークの同期の仕方についてお尋ねします。 1 2022/08/10 16:44
- サッカー・フットサル 至急お願いします! プレステ4のウイイレ2021やっていますがあのいわゆる神データというのをUSBで 1 2022/05/05 17:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sql*loader 数値のロード
-
BCPコマンドについて
-
sqlite3でcsvのインポートがで...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
同じSQL文で極端に検索が遅くな...
-
PL/SQLをWindowsのBATファイル...
-
mysqlにおけるホストのパーセン...
-
あるDBから別のDBのテーブルをs...
-
comment on columnについてわか...
-
MySQLの文字化け
-
1つのファイルにmysqlとPostgre...
-
MySQLへの特殊文字の挿入について
-
SQL*Loaderで桁数チェック
-
phpmyAdminでmySQLのdumpデータ...
-
データベースの複製の仕方(mysql)
-
二重に記載されてしまう
-
ACCESSからリンクでのレコード...
-
LinuxでFatal errorが出てしま...
-
phpmyadminでの特権が表示方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sql*loader 数値のロード
-
作成したレコードセットのCSV出...
-
MySQL Date型にNULLが設定でき...
-
CSVを1行しかインポートしない...
-
BCPコマンドについて
-
MySQLで連続csvファイルを読み...
-
phpmyadminでcsvインポートで文...
-
sqlite3でcsvのインポートがで...
-
BAT処理でCSVデータのインポート
-
CSVインポート,日本語文字化け
-
【Access2000VBA】CSVファイル...
-
CSVファイルのインポートについて
-
MySQLのLOAD文を使ってCSV...
-
MySQLにEXCELやCSVなどでの一括...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
PL/SQLをWindowsのBATファイル...
-
html上でMySQLにアクセス(Java...
-
同じSQL文で極端に検索が遅くな...
おすすめ情報