CSV から null をロード

Posted by muchag | MySQL,phpMyAdmin |
初回投稿:2018-04-28 (土) 10:01:31 | 最終更新:2018-04-28 (土) 10:17:08

【環境】
MySQL: 5.7.18
phpMyAdmin: 4.7.6
経緯
phpMyAdmin

CSV からデータをロードしようとしたら

エラー
#1292 – Incorrect datetime value: ‘null’ for column ‘hoge’ at row 1

というエラーが出た。

CSV の中身を見ると、当該カラムの値は “null” となっている。

CLI

MySQL の CLI から入れようとしたら Warning が出た。

気持ち悪いので、なんとかしてみようと思った。

データ型

ちなみに対象カラムのデータ型は DATETIME。

手法1

LOAD DATA LOCAL INFILE '/path/to/csv_file.csv' INTO TABLE hoge FIELDS TERMINATED BY ',' ENCLOSED BY '"' SET deleted = nullif(deleted, '0000-00-00 00:00:00');

どこで見たか忘れてしまったけど
こういうやり方があるらしい。

以前試したときは上手くいった。

複数カラム対象

ただ今回は、複数カラムが対象で


LOAD DATA LOCAL INFILE '/path/to/csv_file.csv' INTO TABLE hoge FIELDS TERMINATED BY ',' ENCLOSED BY '"' SET registered = nullif(deleted, '0000-00-00 00:00:00'), deleted = nullif(deleted, '0000-00-00 00:00:00');

このように書いてみたけど、上手く行かなかった。

その後

すぐ諦めたので、何が悪いのか、そもそもこの書き方が正しいのかすら不明。

手法2

null のカラムの CSV 値を “\N” とする手法。

これもどこかに書いてあったのを見かけた記憶があったので試してみたところ、
なんと、上手くいった♪

Excel のセルに \N とそのまま記述して
CSV では、”\N” となるように吐き出したところ
OK だった。

Posted by muchag | MySQL,phpMyAdmin |
初回投稿:2018-04-28 (土) 10:01:31 | 最終更新:2018-04-28 (土) 10:17:08

インストール

Posted by muchag | phpMyAdmin |
初回投稿:2017-12-10 (日) 11:39:12 | 最終更新:2019-11-23 (土) 21:17:58

いつも大変お世話になっている phpMyAdmin。
この度、初めてインストール作業を行うことになりました。

公式:Bringing MySQL to the web

【環境】
phpMyAdmin: 4.7.6
DL

上記公式サイト右上の [Douwload 4.7.6] をクリックすると DL できる。

2017-12-10 現在
phpMyAdmin-4.7.6-all-languages.zip

ダウンロードページ

または、ダウンロードページ から、詳細な選択をすることも可能。

配置

DL した .zip ファイルを解凍して、任意のディレクトリへ配置。

今回は、アプリケーションディレクトリ直下へ配置した。

また、ディレクトリ名が長いので
phpMyAdmin-4.7.6-all-languages → pma とリネームした。

ログイン

Cookie を有効にしておかないと、ログインできない。

設定

必須ではない。

設定ファイルの配置
/pma/config.sample.inc.php

をコピーリネームして

/pma/config.inc.php

を配置。

デフォルト設定
/pma/libraries/config.default.php

これがデフォルトの設定らしい。

パスフレーズ

今回はローカル環境なので、適当に。


$cfg['blowfish_secret'] = 'hoge'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
大問題!

上記設定をしたら、pma 側で下記エラーが出だ。

phpMyAdmin – エラー
設定ファイルのパーミッションが正しくありません。誰でも書き込み可能になっています!

現在の VirtualBox を利用した仮想環境においては
config.inc.php に、パーミッションを設定できないので
こうなるらしい。

config.inc.php を削除しました。。。

ここまで

その他の config.inc.php については
ko-iya528:phpMyAdminのインストール(2017-10-26)

テーマ

phpMyAdmin は、テーマの概念があり
テーマを変更することで外観を変更することができる。

意義

テスト環境と本番環境において
取り違えによる大事故を起こさないためにも
テーマは設定しておこうね!

策定

色々とあるのかもしれないけど
公式:Themes
で、配布しているので、こちらから頂戴する。

今回は、4.7.6 なので、4.7 の中から選択。

4種類ある中から、Metro 2.6 にした。

DL

metro-2.6.zip というリンクから DL。

配置

DL してきた .zip ファイルを解凍して
出てきた metro ディレクトリをそのまま

/pma/themes

へ配置。

設定
pma

ホームページ
「外観の設定」
Theme:[metro] を選択

Metro のテーマ
/metro/layout.inc.php

にて、Metro テーマのテーマを選択できる。(ややこしいw)


/* Theme color scheme
 * Values: "teal", "redmond", "blueeyes", "mono", "win"
 * Set this value for the desired color scheme
 */

$scheme                                     = "win";
カスタマイズ
/metro/layout.inc.php

に、色設定があるので、そちらをカスタマイズ。
テーマカラー


case "win":

    $GLOBALS['cfg']['NaviColor']                = '#EEEEEE';
    $GLOBALS['cfg']['NaviBackground']           = '#377796';	// ページ上部ナビゲーションバーの背景色
    $GLOBALS['cfg']['NaviBackgroundLight']      = '#428EB4';
    $GLOBALS['cfg']['NaviPointerColor']         = '#333333';
    $GLOBALS['cfg']['NaviPointerBackground']    = '#377796';
    $GLOBALS['cfg']['NaviDatabaseNameColor']    = '#333333';
    $GLOBALS['cfg']['NaviHoverBackground']      = '#428EB4';
    $GLOBALS['cfg']['MainColor']                = '#444444';
    $GLOBALS['cfg']['MainBackground']           = '#FFFFFF';
    $GLOBALS['cfg']['BrowsePointerColor']       = '#377796';
    $GLOBALS['cfg']['BrowseMarkerColor']        = '#000000';
    $GLOBALS['cfg']['BrowseWarningColor']       = '#D44A26';
    $GLOBALS['cfg']['BrowseSuccessColor']       = '#01A31C';
    $GLOBALS['cfg']['BrowseGrayColor']          = '#CCCCCC';
    $GLOBALS['cfg']['BrowseMarkerBackground']   = '#EEEEEE';
    $GLOBALS['cfg']['BorderColor']              = '#DDDDDD';
    $GLOBALS['cfg']['ButtonColor']              = '#FFFFFF';
    $GLOBALS['cfg']['ButtonBackground']         = '#377796';
    $GLOBALS['cfg']['ButtonHover']              = '#428EB4';
    $GLOBALS['cfg']['ThBackground']             = '#F7F7F7';
    $GLOBALS['cfg']['ThDisabledBackground']     = '#F3F3F3';
    $GLOBALS['cfg']['ThColor']                  = '#666666';
    $GLOBALS['cfg']['ThPointerColor']           = '#000000';
    $GLOBALS['cfg']['BgOne']                    = '#F7F7F7';
    $GLOBALS['cfg']['BgTwo']                    = '#FFFFFF';
    $GLOBALS['cfg']['BlueHeader']               = '#3A7EAD';	// 注意書きなどの背景色
    break;
Posted by muchag | phpMyAdmin |
初回投稿:2017-12-10 (日) 11:39:12 | 最終更新:2019-11-23 (土) 21:17:58

phpMyAdmin Index

Posted by muchag | phpMyAdmin |
初回投稿:2011-05-21 (土) 15:12:25 | 最終更新:2021-11-06 (土) 10:03:49

丸っきりの書きかけ項目は Not found になる。

序章
  1. インストール
    1. さくらインターネット(GitHub 編)
    2. さくらインターネット(remi 編)
  2. 設定
    1. $cfg[‘LoginCookieValidity’]
Tips
  1. CSV から null をロード
  2. SQL 文の実行
  3. さくらインターネット -> MySQLのバックアップ or 入れ替え
  4. 大容量の CSV ファイルのインポート
  5. ファイルサイズ

 

がい~ん!(はまったこと)
  1. 解決済み(たぶん)
    1. $cfg[‘LoginCookieValidity’]
    2. Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
  2. 未解決
参考

公式3.5.0-dev ドキュメント

Posted by muchag | phpMyAdmin |
初回投稿:2011-05-21 (土) 15:12:25 | 最終更新:2021-11-06 (土) 10:03:49

大容量の CSV ファイルのインポート

Posted by muchag | phpMyAdmin |
初回投稿:2011-05-21 (土) 3:41:28 | 最終更新:2011-05-21 (土) 15:26:47