MySQL テーブル varchar 最大値(max length)を確認

MySQL テーブル varchar 最大値(max length)を確認

MySQL で テーブルを作成 varchar length size 大きすぎると

下記のメッセージが 出る場合があります。

> create table test_table(s varchar(99999));
ERROR 1074 (42000): Column length too big for column 's' (max = 16383); use BLOB or TEXT instead

エラーを確認すると わたしの環境では 16383 が最大のようでした。

> create table test_table(s varchar(16383));

↑ varchar の長さを 16383に変更した 上記 SQL では テーブル作成が 成功しました

テーブルのカラムを 「s1, s2」2つ同じvarchar 16383にして実行すると↓

> create table test_table(s1 varchar(16383), s2 varchar(16383));
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

上記のエラーが出ました。翻訳してみると

エラー 1118 (42000): 行サイズが大きすぎます。
使用されるテーブル タイプの最大行サイズ (BLOB をカウントしない) は 65535 です。
これには ストレージの オーバーヘッドが含まれます。 マニュアルを確認してください。
いくつかの列を TEXT または BLOB に変更する必要があります

テーブルの最大長が 65535 (16ビット) ということでした

ということは varchar(1) = 4Byte確保しているということですね

> create table test_table(s1 varchar(8191), s2 varchar(8191));

「s1, s2」の2つvarchar最大の場合 8191文字 で テーブル作成 成功しました。

MariaDB 10.9|INSERT 時だけ自動で日付を入れるカラムを追加する方法

MySQL binlog バイナリログ削除

MySQL は binlogという バイナリログを ファイルで 貯めている

わたしの macOS 環境では、 「binlog.000***」というファイルが

/usr/local/var/mysql/ に貯まる。

私の MacBookは、 この バイナリログ が ストレージ を占領してしまった。

ログなので rmコマンドで ログファイル を削除してみたが

下記のように MySQL 起動時に エラーが出た

> mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/mohmac.local.pid).

バイナリログ は消してはいけないらしい。

mysql 接続後、 下記の SQLコマンドで ログ一覧 が表示される。

show master logs;

上記で出てきたリストの 名前を 指定して 下記 SQL コマンドを実行する。

purge master logs to 'binlog.000220';

「binlog.000220」を指定しているが 環境によって値は違うので注意してください。

「binlog.000220」の場合、 220は残るが それより 連番数値の小さいログは削除されます。

purge master logs to

※ バイナリログ の貯まる ファイル場所は 環境で異なるようです。

ユーザー権限から バイナリログを Purge

ユーザー側から バッチ処理などで バイナリログを削除を実行すると下記のエラーが出ます

> show master logs;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation

userの Super_privが 「N」になっているので 「Y」に変更し再起動すれば

Purge master log コマンド実行できました。

UPDATE mysql.user SET Super_priv='Y'
UPDATE mysql.user SET Super_priv='Y' WHERE user='ユーザー';

MariaDB 10.9|INSERT 時だけ自動で日付を入れるカラムを追加する方法

全身写真から フィギュア化 生成AIプロンプト 画像生成方法

Geminiからフィギュア画像を作る方法

最近話題の 全身の写真からフィギュア化した画像を作る

プロンプトとフィギュア画像生成方法

Gemini アプリを使ったフィギュア画像生成

Gemini アプリに画像をアップし、下記のプロンプトを入れると

フィギュア化した画像が生成できます

元画像をアップロードとプロンプト入力

  1. 自分の全身画像をアプリにアップロード
  2. 下記のプロンプトを入力する
Create a realistic 1/7 scale commercialized figurine of the character in the attached image. The figurine stands on a round, transparent acrylic base. It is placed on a computer desk where the monitor displays a ZBrush modeling process of the figurine. Next to the monitor is a high-quality collectible toy box with original, flat 2D illustrations on its surface, designed in a style reminiscent of high-end anime figures
Create a realistic 1/7 scale commercialized figurine of the character in the attached image.

全身のフィギュア画像が出来上がります

完成した画像

上記プロンプトを使って フィギュア画像を生成した結果

Geminiで生成したフィギュア画像結果

画像プロンプトに含める要素

Figurine: 提供された写真のキャラクターのリアルな1/7スケールのフィギュア

Base: 文字のない丸い透明なアクリルベース

Environment: フィギュアはコンピューターのデスクの上に設置)

Computer Screen: モニターには、フィギュアの 3D モデリング プロセス

(ZBrush モデルなど) が表示されている

Packaging: コンピュータの横に、オリジナルの2Dフラットイラストを

あしらった高品質のコレクター向けパッケージボックスを置く

Design Style: 全体的な美観は現実的であるべきで、

パッケージは高級なコレクターズアイテムに似ている必要があります。