tanamonの稀に良く書く日記

KEEP CALM AND DRINK BEER

mysql

住所.jpのMySQLデータがインポートできない件

住所情報のデータベースを探したら住所.jpというのを見つけた。 jusyo.jp お知らせが2010年からあるので、けっこう昔からデータ提供しているらしい。 しかし、試しに使ってみようと思ったらインポートエラー。 $ mysql -u root -p sandbox -p < zenkoku.sql …

MySQL5.6以降では時刻系の型に精度未満の値を入れると四捨五入される

昔の記憶のまま使ってたらハマった話。 先に検証用のテーブルを作る。 time, datetime, timestampそれぞれの型で、デフォルト精度(カッコなし)とマイクロ秒精度(6指定)のカラムを加えておきます。 mysql> set sql_mode = ''; Query OK, 0 rows affected,…

MySQLでtimestampに桁数指定をする時にはcurrent_timestampにも桁数を付ける

今日、ハマったこと。 こんなテーブルがあったとする。 mysql> create table test( -> id int unsigned not null auto_increment, -> name varchar(100) not null, -> last_modified timestamp not null default current_timestamp on update current_timest…

MySQLでmysqlftppc mecab pluginを使って全文検索をする

試した環境 # cat /etc/redhat-release CentOS release 5.3 (Final) mysql> select version(); +------------+ | version() | +------------+ | 5.1.39-log | +------------+ 1 row in set (0.00 sec) mecab # wget http://sourceforge.net/projects/mecab/f…

MySQLのUNIQUEなINDEXには長さ767byteまでしか使えない件と対策

はじめに たとえばこんなDDLを投げる。 CREATE TABLE test ( id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, hoge varchar(256) NOT NULL, UNIQUE KEY (hoge) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; するとエラーになる。 Specified key was to…

auto_incrementの値を操作する

auto_incrementの値を初期化する alter table文で初期化できる。 alter table test auto_increment=1; auto_incrementの値を取得する 取得するにはauto_incrementの値を生成する必要があるため、先にinsertを行う。 insert into test (msg) values (''); ins…

テーブルにコメントを書く方法

コメントを含めてテーブルを作成する mysql> create table test( -> message varchar(200) comment 'カラムのコメント' -> ) -> engine=MyISAM -> default charset=utf8 -> comment='テーブルのコメント'; Query OK, 0 rows affected (10.91 sec) カラムのコ…

MySQLの初期設定(3)

MySQLの初期設定(1) MySQLの初期設定(2) の続き。 現在の文字コード設定を確認する mysql> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+-------------…

MySQLの初期設定(2)

MySQLの初期設定(1)の続き。 データベース一覧を確認する # mysql -u root (略) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.…

MySQLの初期設定(1)

Windowsの自分のPCに入れてるMySQLがいろいろと限界になったので、CentOSに移してみた。 MySQL自体はCentOSのパッケージとして入れた。 Windowsとは違ってコマンドで初期設定なんぞをしないといけないので、メモを残す。 サービスを起動して、管理ツールでロ…

マージテーブルにアクセスすると1168エラーが出る件

CREATE TABLE sub ( id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, msg varchar(200) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE mrg ( id int(10) unsigned NOT NULL AUTO_INCREMENT KEY, msg varchar(200) ) ENGINE=MERGE UNION=(s…

MySQLのコマンドラインツールでビープ音を消す

まんまのオプションがあった。 --no-beep, -b エラー音を発生させません。 http://dev.mysql.com/doc/refman/5.1/ja/mysql-command-options.html でも毎回指定するのは面倒なので、結局Windowsのビープを止めた。 ビープ音を無効にしたい - ITmedia エンター…