41から始めました

文字通り41歳から始めたブログです。DB(MySQL)を使ってお仕事してるので、DB周りの話を中心に最近始めたこととかをTwitterのノリで書いています。なお、本サイトにおいて示されている見解は私個人の見解であり、所属団体や組織を代表するものではありません。

【祝】MySQL8.0.16登場!MySQLはその先に向かう。

とうとう来ました、待望のバージョンが!

僕はdocker-composeで遊んでるのでYAML

   mysql_8.0:
     image: mysql:8.0.16

と書いて再起動しただけでできましたが、中の人が

と教えてくれたリンク先にも上がっていますので、公式が8.0.16になるまではリンクのほうで試してみると良いかと思います。

ftp.iij.ad.jp

(⇒4/25 21:30時点で確認したら公式にも上がってました) f:id:next4us-ti:20190425213137p:plain

(リリースノートも更新されてますね。) dev.mysql.com

さて、さっそく遊んでみよう

何はともあれCHECK制約を触ってみる

MySQL :: MySQL 8.0 Reference Manual :: 13.1.20.7 CHECK Constraints

に書かれているテーブルをそのまま使ってみる。

f:id:next4us-ti:20190425132910p:plain

おお、とうとうMySQLにもCHECK制約が入ったんやなあ!

(ちなみに過去のバージョンはそもそもcreate tableできない)

f:id:next4us-ti:20190425133044p:plain

ほかの機能も遊びたい

8.0.16の機能についてはhmatsu47さんの

github.com

を読みながらこれから遊んでみようかと思う。 (その前にyoku0825さんがガンガン濃厚な実験+記事書いてくれそうな気はしてるけど)

追記(NOT ENFORCEDは誰がためにある)

f:id:next4us-ti:20190425173317p:plain

↑これを見て、「なるほど?」

試す

f:id:next4us-ti:20190425174024p:plain

挿入できたし、データも入ってる。

ちなみに間のところで見えてますが、

select * from information_schema.CHECK_CONSTRAINTS;

でCHECK制約一覧見れます。

NOT ENFORCED 使いたくなる場面が知りたいなあ。