8.0の非互換例 この中にMySQL 5.7とAurora MySQL 8.0とで挙動が異なるものがあります! 実行SQL 備考 select * from emp; select * from emp e where hiredate >= '1981-05’; select d.loc, count(*) from emp e inner join dept d on e.deptno = d.deptno group by d.loc; select e.empno, e.ename, s.grade salgrade from emp e inner join salgrade s on e.sal >= s.losal and e.sal < s.hisal; select first_value, last_value from testtable;
8.0の非互換例 この中にMySQL 5.7とAurora MySQL 8.0とで挙動が異なるものがあります! 実行SQL 備考 select * from emp; select * from emp e where hiredate >= '1981-05’; 8.0.16でのBug修正 の影響を受けて実行 できない 要クエリ修正 select d.loc, count(*) from emp e inner join dept d on e.deptno = d.deptno group by d.loc; group byの暗黙ソ ート問題 実行結果が変わる select e.empno, e.ename, s.grade salgrade from emp e inner join salgrade s on e.sal >= s.losal and e.sal < s.hisal; 実行計画が変わる (通常は問題はない が、問題となる場合 もある) select first_value, last_value from testtable; 予約語のため実行で きない 要クエリ修正 この他にもクエリキャッシュの機構がなくなったことでselectの実行時間への影響が出ることも!
dollar sign. The use of the dollar sign ($) as the initial character of an unquoted identifier was deprecated in MySQL 8.0, and is restricted in MySQL 8.1 and later; using an unquoted identifier beginning with a dollar sign and containing one or more dollar signs (in addition to the first one) now generates a syntax error. ⚫ Unquoted identifiers starting with $ are not affected by this restriction if they do not contain any additional $ characters. ⚫ New Keywords. Keywords added in MySQL 8.4 since MySQL 8.0. Reserved keywords are marked with (R). ⚫ AUTO, BERNOULLI, GTIDS, LOG, MANUAL (R), PARALLEL (R), PARSE_TREE, QUALIFY (R), S3, and TABLESAMPLE (R). - 17 - MySQL 8.0➔8.4でも、、 https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html