MySQL のネットワークプロトコルに興味のある僕。
サーバー側で Prepared statement を実行する機能があるっぽいことは知っていたが、
Python のドライバーはその機能を使ってないので、どんな感じか知らなかったし調べようとも思ってなかった。
この記事を読んで go-sql-driver/mysql で実装されていることを知った。
https://zenn.dev/pksha/articles/b86b224dfbe224
https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_command_phase_ps.html
ここに関連のコマンドの説明がある。
https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_com_stmt_execute.html
ここに引数の渡し方が記載されてるけど、なんか少ないな。数値か文字列で渡すのかな?
→ここら辺にあった。 https://github.com/go-sql-driver/mysql/blob/master/packets.go#L1123-L1241
うーん、大変そうだなぁ。
https://blog.nakagami.org/article/518714491.html ここにある SQL の機能で
お茶を濁すこともできるんだよなぁ
この記事へのコメント