A5:SQL Mk-2

開発のこと、日々のこと

「データ」のグリッド表示上で値を変更するとエラー

ホーム › フォーラム › A5:SQL Mk-2掲示板 › 「データ」のグリッド表示上で値を変更するとエラー

  • このトピックには4件の返信、1人の参加者があり、最後に松原正和により2週、 4日前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #44137 返信
    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 ではグリッド表示上で変更ができており、大変便利だったので、
    変更できるように対応いただけますでしょうか。

    #44782 返信
    kei
    ゲスト

    エラーになるケースについて、情報が不足していましたので追記します。
    text型が含まれているテーブルだと
    int型、varchar型、text型すべてエラーになる状況でした。

    text型が含まれていないテーブルでは正常に
    グリッド表示からデータの変更ができました。

    Version2.12.1 では、text型も含めてグリッド表示上で変更できており
    それが大変便利だったので同じように対応できないでしょうか。

    #45005 返信
    松原正和
    キーマスター

    kei さんこんにちは。
     
    こちら、手元の環境で再現しませんでした。接続するMySQLのバージョンなどお教えいただけると助かります。

    #45343 返信
    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 TABLE cm_dictionaries (
    id bigint unsigned NOT NULL AUTO_INCREMENT,
    organization_code char(16) COLLATE utf8mb4_general_ci NOT NULL,
    language char(2) COLLATE utf8mb4_general_ci NOT NULL,
    dictionary_code varbinary(200) NOT NULL,
    expression text COLLATE utf8mb4_general_ci NOT NULL,
    create_admin_user_id varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
    update_admin_user_id varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
    update_count int NOT NULL DEFAULT ‘0’,
    created_at datetime DEFAULT NULL,
    updated_at datetime DEFAULT NULL,
    delete_flag tinyint(1) NOT NULL DEFAULT ‘0’,
    PRIMARY KEY (id),
    UNIQUE KEY cm_expression_code_unique (organization_code,language,dictionary_code)
    ) ENGINE=InnoDB AUTO_INCREMENT=180001905 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

    グリッド表示で変更できないTBLの定義(その2)
    CREATE TABLE cm_departments (
    id bigint unsigned NOT NULL AUTO_INCREMENT,
    organization_code varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
    faculty_code varbinary(16) NOT NULL,
    department_code varbinary(16) NOT NULL,
    proper_code varbinary(16) NOT NULL,
    name varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
    display_name varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
    display_short_name varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
    display_order int NOT NULL,
    create_admin_user_id varchar(20) COLLATE utf8mb4_general_ci NOT NULL,
    update_admin_user_id varchar(20) COLLATE utf8mb4_general_ci NOT NULL,
    created_at datetime NOT NULL,
    updated_at datetime NOT NULL,
    update_count int NOT NULL DEFAULT ‘0’,
    delete_flag tinyint(1) NOT NULL DEFAULT ‘0’,
    PRIMARY KEY (id),
    UNIQUE KEY cm_departments_department_code_unique (organization_code,department_code),
    UNIQUE KEY cm_departments_display_order_unique (organization_code,display_order)
    ) ENGINE=InnoDB AUTO_INCREMENT=180000054 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

    ※いずれのTBLもVersion2.12.1 ではグリッド表示上で変更ができており、大変便利だったので、変更できるように対応いただけると大変助かります。

    #46718 返信
    松原正和
    キーマスター

    kei さんこんにちは。
     
    Version 2.22.0 のベータ版での不具合だったようです。Version 2.22.0 beta 29 以降で修正しています。
     
    ご確認いただければと思います。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
返信先: 「データ」のグリッド表示上で値を変更するとエラーで#46718に返信
あなたの情報:




コメントは受け付けていません。