ホーム › フォーラム › A5:SQL Mk-2掲示板 › 「データ」のグリッド表示上で値を変更するとエラー
-
投稿者投稿
-
kei
ゲスト現在、Windows 11 64bit 環境にて MySQL を使用し、
A5:SQL Mk-2 x64 Version 2.22.0 beta 22 を利用しています。テーブルを開くの「データ」タブのグリッド表示上で直接、値を編集して更新しようとすると
「Array Byte型から Integer型へのバリアント型変換はできません」のエラーになってしまいます。
項目はint型、varchar型、text型すべて同じエラーになりますupdate文の実行であれば更新できるが、グリッド表示上で直接編集だと上記エラーになる。
Version2.12.1 ではグリッド表示上で変更ができており、大変便利だったので、
変更できるように対応いただけますでしょうか。kei
ゲストエラーになるケースについて、情報が不足していましたので追記します。
text型が含まれているテーブルだと
int型、varchar型、text型すべてエラーになる状況でした。text型が含まれていないテーブルでは正常に
グリッド表示からデータの変更ができました。Version2.12.1 では、text型も含めてグリッド表示上で変更できており
それが大変便利だったので同じように対応できないでしょうか。松原正和
キーマスターkei さんこんにちは。
こちら、手元の環境で再現しませんでした。接続するMySQLのバージョンなどお教えいただけると助かります。kei
ゲスト松原様
keiです。
前回text型が含まれているテーブルだとすべてエラーになる状況と記載しましたが、
エラーが発生していたTBLにはtext型とvarbinary型が含まれていました。
そこで、text型は含まれず、varbinary型が含まれるTBLで再確認したところ
「Array Byte型から Integer型へのバリアント型変換はできません」のエラーとなりましたので
原因は、text型ではなくvarbinary型のようです。不確実な情報でお手数をおかけしてしまいすみませんでした。
以下に、追加の情報を記載いたします
MySQL 8.4.9 です。
関連がありそうなオプションの設定
・バイナリ項目の扱い:指定エンコーディングで文字列化
・バイナリ項目のエンコーディング:UTF-8(Non BOM)グリッド表示で変更できないTBLの定義(その1)
CREATE TABLEcm_dictionaries(
idbigint unsigned NOT NULL AUTO_INCREMENT,
organization_codechar(16) COLLATE utf8mb4_general_ci NOT NULL,
languagechar(2) COLLATE utf8mb4_general_ci NOT NULL,
dictionary_codevarbinary(200) NOT NULL,
expressiontext COLLATE utf8mb4_general_ci NOT NULL,
create_admin_user_idvarchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
update_admin_user_idvarchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
update_countint NOT NULL DEFAULT ‘0’,
created_atdatetime DEFAULT NULL,
updated_atdatetime DEFAULT NULL,
delete_flagtinyint(1) NOT NULL DEFAULT ‘0’,
PRIMARY KEY (id),
UNIQUE KEYcm_expression_code_unique(organization_code,language,dictionary_code)
) ENGINE=InnoDB AUTO_INCREMENT=180001905 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ciグリッド表示で変更できないTBLの定義(その2)
CREATE TABLEcm_departments(
idbigint unsigned NOT NULL AUTO_INCREMENT,
organization_codevarchar(16) COLLATE utf8mb4_general_ci NOT NULL,
faculty_codevarbinary(16) NOT NULL,
department_codevarbinary(16) NOT NULL,
proper_codevarbinary(16) NOT NULL,
namevarchar(255) COLLATE utf8mb4_general_ci NOT NULL,
display_namevarchar(255) COLLATE utf8mb4_general_ci NOT NULL,
display_short_namevarchar(255) COLLATE utf8mb4_general_ci NOT NULL,
display_orderint NOT NULL,
create_admin_user_idvarchar(20) COLLATE utf8mb4_general_ci NOT NULL,
update_admin_user_idvarchar(20) COLLATE utf8mb4_general_ci NOT NULL,
created_atdatetime NOT NULL,
updated_atdatetime NOT NULL,
update_countint NOT NULL DEFAULT ‘0’,
delete_flagtinyint(1) NOT NULL DEFAULT ‘0’,
PRIMARY KEY (id),
UNIQUE KEYcm_departments_department_code_unique(organization_code,department_code),
UNIQUE KEYcm_departments_display_order_unique(organization_code,display_order)
) ENGINE=InnoDB AUTO_INCREMENT=180000054 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci※いずれのTBLもVersion2.12.1 ではグリッド表示上で変更ができており、大変便利だったので、変更できるように対応いただけると大変助かります。
松原正和
キーマスターkei さんこんにちは。
Version 2.22.0 のベータ版での不具合だったようです。Version 2.22.0 beta 29 以降で修正しています。
ご確認いただければと思います。 -
投稿者投稿