mysqlのSTRICT_ALL_TABLES
mysqlでは、int型に文字列を入れようとすると0が入ったり、NOT NULL制約のカラムに値を指定しなかった場合は空文字が入ったりします。
それがいいかどうかは別として、それらを許可しないためにはsqlmodeをSTRICTALL_TABLESに設定すればいいみたい。
mysql> SET sql_mode = 'STRICT_ALL_TABLES'
DBICでこれが指定してあったからエラーになってちょっとはまったんですけどね。
my $schema = Testblog->connect(
'dbi:mysql:testblog;host=localhost',
'root',
'',
{ on_connect_do => ["SET sql_mode = 'STRICT_ALL_TABLES'"] }
);
DBICで指定するときはこんな感じ。
- Prev Entry:JSのpreventDefault
- Next Entry:vimで開いたファイルの履歴をたどる