helen's blog

ずっとおもしろいことしてたいな。

トランザクションなんてなかった

# トランザクション開始
mysql> begin;
# 処理
mysql> alter table XXXX
> add YYY.....;
# 確認
mysql> show full columns from XXXX;
# 打ち消し
mysql> rollback;
# 消えてるか確認 → !?
mysql> show full columns from XXXX;

な ぜ か カ ラ ム が a d d さ れ て い る
しかも1つのカラムだけコメントがなくてきもい・・・

トランザクションできなかった理由

> DDLトランザクションの概念がないよ
> DDLは実行後即反映
> DMLはコミットされた時点で反映

DDL(Data Definition Language):データを格納するための構造を定義する
DML(Data Manipulation Language):データを管理・操作する
参考
DDLとは|データ定義言語|Data Definition Language - 意味/定義 : IT用語辞典
DMLとは|データ操作言語|Data Manipulation Language - 意味/定義 : IT用語辞典

つまりalter tableのためにbeginしてもbegin損だったという(´-ι_-`)

カラムにコメントを追加

なぜかググっても全然出てこない

ALTER TABLE XXXX
  MODIFY table_name data_type comment 'hoge';

でいけた
なんだろう、ググり方が悪かった?

おまけ

mysqlのdecimal(18,10)

全部で18桁まで、小数点以下は10桁まで

最近やけにBigDecimalに縁があるなあ