A5:SQL Mk-2

開発のこと、日々のこと

【バグ】ユニークでないテーブルの編集時の挙動

ホーム フォーラム A5:SQL Mk-2掲示板 【バグ】ユニークでないテーブルの編集時の挙動

このトピックには2件の返信が含まれ、2人の参加者がいます。2 週間、 1 日前 tsu**yo** さんが最後の更新を行いました。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #4553 返信

    tsu**yo**

    いつもお世話になっております。

    以下のような事象が出ております。

    【環境】
    version 2.15.0 beta 5 64bit
    使用DB PostgreSQL10
    他デフォルト設定

    【事象】
    ユニークでないテーブル(PKなし、UKなし)でかつ、
    すべての値が同じレコードの項目を編集すると。
    「Update failed Found 0 records」と表示されます。
    メッセージを読むと更新失敗となりますが、実際は値が同じレコードすべて更新されています。

    また、レコードを削除すると
    「Update failed Found 5 records」と表示され 実際のレコードはすべて削除されます。

    【好ましい動き】
     値が同じレコードも同様に更新、削除するのではなく
     行ごとに個別で更新、削除される方が良いと思います。

    以上、よろしくお願いいたします。

    #4571 返信

    松原正和
    キーマスター

    tsu**yo** さんこんにちは。
     
    はいこのような場合、内部的にはすべてのカラムをwhere条件にしてupdateを実行するしかないのですが、すべての値が同じレコードをupdateすると、一意にレコードが特定できないので、すべての列が同じ値を持つすべてのレコードが更新されてしまいます。
     
    対処としては、主キーも一意制約もないテーブルの場合は、更新は不可にせざる負えないかないと思います。
    (実はOracleに限り、内部でROWIDを持たせているので更新できたりするのですが…。)

    #4572 返信

    tsu**yo**

    松原様

    ユニークでないテーブルに関しては、他のDBアクセスツールでも試してみましたが、
    なかなか難しい問題ですね
    ただ、メッセージに関しては実際の動きと相違しておりますので、
    修正していただけると幸いです。

    以上、よろしくお願いいたします。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
返信先: 【バグ】ユニークでないテーブルの編集時の挙動
あなたの情報:




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