6月29日に開催されたオープンソースカンファレンス2024北海道(OSC2024 Hokkaido)に参加してきました。 今回は日本MySQLユーザ会(MyNA)としてのブース参加とセミナー1枠、そして OSGeo.JPとしてのブース出展のお手伝い(ほとんど何もしてない)でした。event.ospn.jp MySQLユーザ会のほうは緩いユーザ会なので、ブースも「談話コーナーです」という感じで、何か知りたいことがある人がいれば説明するよ、というスタンスでやってきた時期も長かったのですが、最近は少しだけ力を入れて、説明スライドを流したりすることを試みています。展示用の荷物を送って送り返すだけで数千…
6月22日に開催された「第14回関西DB勉強会」に参加して、ひと枠お話をさせていただきました。kansaidbstudy.connpass.com 会場への行き方が分からず、このへんで詰む。今写真で確認してみたら "The Lab"というのが1階にも2階にも3階にもあったのか... 今回の登壇者と発表テーマは、こんな感じ。よくまぁ、これだけの顔ぶれと発表内容を一堂に集めたな、と、主催者さんのセンスと交渉力に脱帽しました。 りなたむさん「市民開発者向け 正しいテーブル設計」 あわっちさん「全部見せます KINTO テクノロジーズの DBRE とは」 山﨑さん「MySQLのリリースモデルの変更点と…
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
…