5月16日にオラクルのMySQLチームさんが開催してくれた『ついに正式リリース!MySQL 8.4 LTS (Long-Term Support) の全容 』に参加してきました。 リアル開催、本当に良い。あちこちから「MySQLが」「InnoDBが」「binlogが」と聞こえてきて、なんとなくほっとします。 mysql-tech-tour.connpass.com 梶山さんによる2時間に亘る濃厚な『MySQL 8.4 LTSの全容ご紹介』。淡々としたタイトルですが、今時点で手に入る最高にまとまった最高にわかりやすい説明でした。 そういえば資料、どこで公開されたんだっけ。ダウンロードしそこねちゃ…
MySQLのバージョン間のいろんな差分を見れる MySQL Parameters というのがあるんだけど、SQL 構文の差分を見れるようにしてみた。
たとえば、8.0 の最初のリリースの 8.0.11 と最後のリリースの 8.0.37 の構文の差分はここから見れる。 https://mysql-params.tmtms.net/statement/?vers=8.0.11,8.0.37
ソースは help コマンドの結果(実際には mysql.help_topic
テーブルから取得)。
たとえば ALTER EVENT
はこんな感じ:
mysql> help alter event; Name: 'ALTER EVENT' Description: Syntax: ALTER [DEFINER = user] EVENT event_name [ON SCHEDULE schedule] [ON COMPLETION [NOT] PRESERVE] [RENAME TO new_event_name] [ENABLE | DISABLE | DISABLE ON …[さらに読む]
TL;DR
-
FOREIGN KEY (col1, col2) REFERENCES table_name (col3, col4)
の親側のカラムリスト、←で言うなら(col3, col4)
がユニーク制約がかかっていないと外部キー制約が作れなくなった?-
親に
(col3, col4, col5)
のユニークキーがあってもダメ。きっちり一致しないといけない。 -
親に
(col3)
のユニークキーがあれば(col3, col4)
も当然一意になるはずだけれどこの指定もダメ。
-
-
正規化の過程でできあがるテーブル分割とFOREIGN KEYは自然とPRIMARY …
たまたま目に入った記事で、「mysqlでuserテーブルにダミーデータを10万件ほど入れる方法メモ」というものを拝読しました。 zenn.devそちらでは、ストアド・プロシジャを作成して10万回のループでINSERTを実施する方法を採っていましたが、折角の機会なのでお伝えしたいテクニックがあり、これを書きしたためる次第。 プロシジャってあまり使いたくない 「実現できない」より「実現できる」ほうが100万倍エラいので、プロシジャを使った解法にたどり着いたことは立派なのですが、「実現できる」から「もっと良く実現できる」に進むと更に楽しい世界が待っています。ということで「もっと良く」を紹介します。私…
お待ちかねの「MySQLのはじめての LTS」、MySQL 8.4.0 がリリースされました!Note: If you are having trouble connecting to the upgraded MySQL 8.4.0 Server, please read the end of this blog. (Summary of solutions for "unknown variable 'default-authentication-plugin" error, and "mysql_native_password' is not loaded" error) status表…
1.
MySQL :: Other MySQL Documentation から “airportdb database (large dataset, intended for MySQL on OCI and HeatWave)” を探してダウンロード。HeatWave用って書いてあるけど別にVanillaでもOK。
$ wget https://downloads.mysql.com/docs/airport-db.tar.gz
--2024-04-18 00:43:20-- https://downloads.mysql.com/docs/airport-db.tar.gz
Resolving downloads.mysql.com (downloads.mysql.com)... 23.51.143.41, 2600:140b:2:99d::2e31, 2600:140b:2:99c::2e31
Connecting to downloads.mysql.com (downloads.mysql.com)|23.51.143.41|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 655687708 (625M) [application/x-gzip]
Saving to: 'airport-db.tar.gz'
100%[==============================================================================================================================================>] 655,687,708 …
[さらに読む]
TL;DR
-
これは5.7のバグ。8.0では起こらない
-
エラーメッセージからここへ来たあなたへ。
use
ステートメントを忘れています。use
してからもういちどCREATE VIEW
なりALTER VIEW
なりを実行するのです
スキーマを何も指定せずに接続して、かつ、FROM句サブクエリがあるものを実行しようとするとエラる。ビュー名を完全修飾していても、使っているテーブルを完全修飾していてもエラる。しかも
root@localhost
なのに ANY command denied
…
【2024/03/15 09:19】
現在までの8.0~8.3の新機能/Removal/Deperecatedまとめ。8.4が出たらたぶん足す。
- https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
- https://downloads.mysql.com/docs/refman-8.1-en.pdf
- https://downloads.mysql.com/docs/refman-8.2-en.pdf
- https://dev.mysql.com/doc/refman/8.3/en/mysql-nutshell.html
- 8.1と8.2は既にWEBからたどれずに …