参考:GENERATED COLUMN
日本語で「生成列」とも。
mysql> CREATETABLE gentest (a int, b int, c int GENERATED ALWAYS AS (a+b));
mysql> INSERT INTO gentest (a,b) values (3,5),(2,9);
mysql> SELECT * FROM gentest;
+------+------+------+
| a | b | c |
+------+------+------+
| 3 | 5 | 8 |
| 2 | 9 | 11 |
+------+------+------+
mysql> CREATE TABLE gentest2 (a int, b int,
c int GENERATED ALWAYS AS ((a+b)*rand()));
ERROR 3102 (HY000): Expression of generated column 'c' contains a disallowed
function.
13.
MySQL 5.7 の情報
•150を超える新機能、改善等
– https://yakst.com/ja/posts/3037
• その他 講演発表資料、ブログなど
例:
×
SELECT f_id, name,count(*) FROM tbl1
GROUP BY f_id;
○
SELECT f_id, name, count(*) FROM tbl1
GROUP BY f_id, name;
SQL_MODE: ONLY_FULL_GROUP_BY
SQLモードのデフォルト値
MySQLの開発主体
• 1995年 TcXが初バージョン公開
•2000年 6月MySQL AB 設立
• 2005年 OracleがInnoBase Oy を買収
– 2006年 MySQL KK 設立
• 2008年 Sun Microsystems が MySQL社を買収
• 2010年 Oracle が Sun Microsystemsを買収
• MySQL 3.23(2001)みんなが使い始めた
• MySQL 4.0 (2003)使いやすくなってきた
• MySQL 4.1 (2004)文字コードの扱い拡張(&混乱)
• MySQL 5.0 (2005)大きな進化
• MySQL 5.1 (2008)更に大きな進化
• MySQL 5.5 (2010)Oracle後初のメジャー
• MySQL 5.6 (2013)初の純Oracleバージョン
• MySQL 5.7 (2015)現在の最新バージョン
MySQLの主なバージョン
青字 MySQL AB 時代
黒字 Sun Microsystems 時代
赤字 Oracle 時代
その他、幻の MySQL 6.0, MySQL 5.4 も。