読者です 読者をやめる 読者になる 読者になる

MySQLでNULLを空文字に変換 - ifnullとnullif

データ調査でSQLの出力内容をスプレッドシートに貼りつけるとき、NULLが入ると邪魔なので。

mysqlでやったことなかったので調べた。ifnullだった。

mysql> select ifnull(null, 'yes');
+---------------------+
| ifnull(null, 'yes') |
+---------------------+
| yes                 |
+---------------------+
1 row in set (0.00 sec)

nullifなんてのもある
nullifは渡された値がequalだとNULLになる

mysql> select nullif('yes', 'yes');
+----------------------+
| nullif('yes', 'yes') |
+----------------------+
| NULL                 |
+----------------------+
1 row in set (0.01 sec)

mysql> select nullif('yes', 'no');
+---------------------+
| nullif('yes', 'no') |
+---------------------+
| yes                 |
+---------------------+
1 row in set (0.00 sec)

Djangoのsyncdbでユーザーを作成しない

syncdbするときに、ユーザーがいらないのにいちいちnoを打つのが面倒。
--noinputオプションつければ、ユーザーを作成しない

$ python manage.py syncdb --noinput


ちなみに、django 1.7ではsyncdbは非推奨になっていて、代わりにmigrateを使うことが推奨されるようになった。
参考:django-admin.py and manage.py | Django documentation | Django


migrateはユーザーを作成しないが、--noinputを渡すことができる。

migrateに--noinputを渡した場合は、post_migrateシグナルに引数としてinteractive=Falseが渡されるようになる。