さるへい備忘録

さるへいのやったことを綴っているブログです。基本的にテクノロジーの話題です。

mysql

プログラムでtransactionをはったらcommitかrollbackで終わらせるようにしよう

みなさんtransaction使ってますか?transactionは便利で使う機会がとても多いと思います。 しかし皆さんちゃんとcommitとrollbackを設定していますか? まぁセッションからコミットされない限りデータに変更ないしヘーキヘーキ!みたいなことを思ってる方も…

MySQLの権限設定のやりかた、RDSの場合の特別な設定も

MySQLの権限設定で困ったのでメモ。 RDSだとちょっと使えない文字列があるので注意です 普通にGRANT設定するだけ GRANT SELECT,INSERT,UPDATE,DELETE ON `DB名`.* TO `ユーザ名`@* IDENTIFIED BY 'パスワード'; 上記のSELECTやINSERTのところに許可したい権…

MySQLの文字列から数値への型変換について

MySQLで文字列から数値の型変換でちょっと変換のされかたが特殊だったので紹介します。 公式のドキュメントはこちら MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.10 キャスト関数と演算子 明示的な型変換 型変換というのはだいたいアプリケーション側…

SQLAlchemyでMEDIUMTEXTやLONGTEXT、TINYINTを使う方法

皆さんSQLAlchemy使ってますか? github.com PythonのORマッパーといえば、SQLAlchemyと言われるくらいSQLAlchemyは利用されているライブラリです。 そんな中、マニュアル読んでざっくり使ってるだけだとMySQLでINTEGERやVARCHARは使えるんだけど、TINYINTや…

AWSのEC2インスタンスとRDS(MYSQL)の間の通信でSELinuxでハマった話

すごい初歩的なお話になりますが、僕が AWSのEC2インスタンスとRDSの通信で1時間くらいハマった話をします。 ec2インスタンスから直接mysqlのコマンドでhost指定して接続するのは可能なのに、 PHPから接続しようとすると接続できない。 ずっと Unknown MySQL…