- ベストアンサー
MySQLインポートでの検索結果について
- MySQLインポートにおいて、一部の検索結果が正常に返されない現象が発生しています。具体的には「G」「R」での検索ができず、「GR」での検索結果のみが返されます。この現象はmysqlimportのshellコマンドでのインポート時に発生し、半角英数のフィールドに関連しています。また、この現象はphpMyAdminのテキストファイルの追加やNavicat MySQLでのインポートでは発生しないことが確認されています。
- 原因として考えられるのは、mysqlimportのshellコマンドが特定の文字列を誤って処理していることです。具体的には「G」「R」が特殊な意味を持っている可能性があります。また、phpMyAdminやNavicat MySQLでは、異なるインポート処理を行っているためにこの現象が起こらない可能性も考えられます。
- この問題の解決策としては、mysqlimportの代替コマンドを使用することが考えられます。また、フィールド名やインポートデータの形式を変更することで正常な検索結果が得られる可能性もあります。ただし、原因を明確に特定するためには詳細な情報が必要ですので、問題が再現する環境やデータの内容などを確認する必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- CSVからNULL値をインポート
phpMyAdminを使用してcsvからデータをインポートしようとしています。 通常の値は問題なくインポートできるのですが、NULL値があるフィールドがどうしても「0」になってしまいます。(そのフィールドはNULL値が入力可で、デフォルト値もNULLです) csvからNULL値をインポートする方法をご教授下さい。 宜しくお願いします。 ※\Nを入力するとNULLになるという情報があったため、 "1";"2";"3";"4";\N "1";"2";"3";"4";"\N" (1.2.3.4は適当な文字で、5番目をNULLにしたい) の両方を試みましたが、入力結果は「0」でした。 phpMyAdmin - 2.10.2 MySQL クライアントのバージョン: 5.0.18 フィールド区切り記号 ; フィールド囲み記号 ""
- ベストアンサー
- MySQL
- MySQLデータベースにcsvファイルインポートで、エラー
csvファイルインポートで、エラー phpMyAdminからMySQLデータベースに、csvファイルのインポートを試みたところ、 「CSV 入力のフィールド数が不正です(行: 17)」と表示され、うまくいきません。 データベースの中を確認すると、60レコードのうち、15レコードまでは正常にインポートされています。 元のcsvファイルを確認しても、mysql側とフィールド数は一致しており、問題はないように見受けられました。 phpMyadminのバージョンが、2.6.1-pl3から 2.10.0.2に変わった後、上記の問題が発生するようになりました。 よろしくお願いいたします。
- ベストアンサー
- MySQL
- MySQLのTimestamp(14)型のフィールドにYYYY/MM/DD hh:mm形式のデータをインサートするには
MySQLのTimestamp(14)型のフィールドに YYYY/MM/DD hh:mm形式のデータをインサートするには どのようにしたらよいのでしょうか? MySQL の Timestamp(14)型(YYYY-MM-DD hh:mm:ss)のフィールドに YYYY/MM/DD hh:mm 形式のデータ(ssに該当するデータがない)を インサートするには、 PHPでどのようにしたらよいのでしょうか? できれば、インサートの際にssに自動的に00をつけたいです。 現在、PHPでinsert文を実行すると、データの桁数が足りないため、 フィールドの値は、0000-00-00 00:00:00になってしまいます。 同じ形式(YYYY/MM/DD hh:mm)のデータをphpMyAdminで インポートすると、自動的にssに00がつき、 YYYY-MM-DD hh:mm:ss(例 2009-10-20 12:10:00) となってくれます。 PHPでもphpMyAdminと同じ処理をしたいのですが、 インターネットで検索してもやり方が見つからず、 どのようにしたらよいのか、わかりません。。。 インサートするデータサイズが83MBと大きいので、 PHPで処理したいと思っています。 (phpMyAdminは8MBまでなので) ご存知の方がいましたら、教えていただけると、 助かります。m(_ _)m レンタルサーバー:さくら インサートするファイル:CSVファイル PHP 5.2.x MySQL 5.1 phpMyAdmin 3.1.3.1
- ベストアンサー
- MySQL
- phpMyAdmin テキストインポートエラー
phpMyAdmin テキストインポートエラー いつもお世話になっております。 php,MySQL,phpMyAdmin 初心者です。 ゆうちょ銀行のHPから郵便番号データを入手し、phpMyAdminを利用してMySQLへインポートしたいのですが、 エラーになってしまいます。 ●環境・設定 phpMyAdmin-2.11.6 MySQL 5.0.45 MySQL の文字セット: UTF-8 Unicode (utf8) ■実行手順 (1)郵便番号データ入手 (2)Access2003にインポート(テーブル化) (3)必要フィールドを選択しテキスト変換(エクスポート) (4)テキストをUTF-8で保存 (5)phpMyAdminのインポート機能を実行 (6)結果(以下エラー内容) 実行した SQL: "2770023", "チバケン", "カシワシ", "チュウオウ", "千葉県", "柏市", "中央" "2770831", "チバケン", "カシワシ", "ネド", "千葉県", "柏市", "根戸" 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 '"2770023","ï¾ 何か良い解決策がありまいたらご教授いただければと思います。 宜しくお願い致します。
- ベストアンサー
- MySQL
- phpMyAdminでインポート
■phpMyAdminでint型フィールドへインポート int型のフィールドへcsvファイルからインポートする際に、元データが空白の場合にインポートするとそのフィールドに勝手に「0」が入ってしまいます。 勝手に「0」が入らないようにするにはどのようにしたらいいのでしょうか。 宜しくお願いします。
- 締切済み
- MySQL
- インポートした時に[ _seq ]というテーブルが自動作成される
お世話になっております。 MySQLのPHPMyAdminにてSQLをインポートすると、 まれに[ _seq ]というテーブルが自動作成される事があります。 構成として、 sequence int(11) Not Null auto_increment の1フィールドのみのテーブルです。 何故、このようなテーブルが発生するのでしょうか? また、インポートデータに問題はないのでしょうか? (インポート時にエラーは表示されません) どうぞ宜しくお願い致します。
- 締切済み
- MySQL
- EXCELファイルをmySQLにインポートしたい
EXCELでつくられたデータがあります。 一行に、ID、名前、電話番号、更新日時、アドレスが書かれてあり、それが数十行ほど並んでいます。 これらをフィールド:ID、フィールド:name、フィールド:tel、…などと定めて、mySQLにインポートしたいです。 OSはwinXPで、使用したことはありませんがMS Officeの中にaccessが入っています。 自分では、これを利用すればできるのではないかと考えましたが、使い方がわからずできませんでした。 mySQLで使用しているのはXAMPPに標準搭載されていたphpMYadminです。 どなたかよい方法があればご教示ください。どうかよろしくお願いします。
- ベストアンサー
- その他MS Office製品
- MySQLのLOAD DATAに関して
MySQLのLOAD DATAで、固定長行フォーマットのファイルのロードを行っています。 その際、以下のような現象の原因がわからず困っています。 データをロードするテーブル、ロードファイル、実行コマンドは以下になります。 -------------------- テーブル -------------------- フィールド1 char(2) フィールド2 char(2) -------------------- ロードファイル(テキストファイル) -------------------- 1020 3040 -------------------- 実行コマンド -------------------- LOAD DATA INFILE 'ロードファイル' INTO TABLE テーブル FIELDS TERMINATED BY '' ENCLOSED BY '' LINES TERMINATED BY '\r\n'; 結果は以下のように、フィールド2にはデータが登録されていません。 ------------- フィールド1 | フィールド2 ------------- 10 | 30 | 望んでいる結果は以下のような結果です。 ------------- フィールド1 | フィールド2 ------------- 10 |20 30 |40 いろいろ試してみたのですが、 どうもchar(2)の場合は2バイトの倍の4バイト、 char(4)バイトの場合は倍の8バイトというふうにデータが区切られるため、 フィールド1のデータを取得する際に4バイト取得してしまっており、 フィールド2の分のデータが取得できません。 どこに不備があるのかわからないのですが、 何か原因の検討がつく方がいたら、ご回答よろしくお願いします。
- ベストアンサー
- MySQL
- phpMyAdminからphpMyAdminへのデータ移行
レンタルサーバーにあるMySQLのデータをphpMyAdminからエクスポートし、ローカルホストにあるMySQLにphpMyAdminのSQLでデータをインポートしようとしています。 方法は以下の通りです。 レンタルサーバーのphpMyAdminを開き、エクスポートしたいデータベースを選択します。 エクスポートを開き、 全選択 SQL 構造: 「DROP TABLE」を追加 「IF NOT EXISTS」を追加 「AUTO_INCREMENT」値を追加 逆クオートでテーブル名やフィールド名を囲む データ: 完全な INSERT 文を作成する バイナリフィールドは 16 進数を使用する エクスポート形式:INSERT ファイルで保存する ファイル名テンプレート:__DB__ テンプレートを覚える 圧縮無し SJISエンコーディングへ変換する で、実行します。 8.43 MB (8,846,019 バイト)37602行 からなる膨大なsqlファイルが作成されます。 次にローカルホストのphpMyAdminを開き、インポートしたいデータベースを選択します。 SQLを開き、 参照より、エクスポートしたsqlファイルを読み込み 圧縮:Autodetect エンコーディングnon で、実行します。 実行の結果、 「SQLクエリー無し」 のメッセージで、SQLが終了します。 もちろん、データベースは移行されていません。 レンタルサーバーのMySQLをローカルのAccessでデータ加工し、レンタルサーバーのMySQLに戻すという作業をしたいだけなのですが(ローカルでバックアップも取っておきたい)、何か解決策はありませんでしょうか?
- 締切済み
- MySQL
お礼
nyaa519323116様 お礼が遅くなり本当に申し訳ございませんでした。 結果として<フィールド名 char(2)> gr が最後のフィールドでその後に改行が入ってしまっていたようです。 検索条件として、 ・「G」が含まれるもの・・・この場合「G」または「GR」 ・「R」が含まれるもの・・・この場合「R」または「GR」 `DomesticCity`.`gr` like "%G%" で検索出来ました。 お恥ずかしいのですが、難しく考えすぎていたようです。 ありがとうございました。