ユニークなキーボード重複データロードの問題
792 ワード
複合キーにカラムを追加するときに発生する問題
複合の一意キー列にnull値のデータがロードされている場合、そのデータは非重複データとみなされます.
ex)
——————————
col1 | col2 | col3 | col4
——————————
AIP | emc | 123 | null
AIP | emc | 123 | null
例に示すように、冗長データの許可とロード
ただし、C、U、Dを実行する場合、スレッド内のトランザクションはテーブル内のデータ変更を許可しません(lock)
その後、他のトランザクションのデータ変更は、先に実行されたトランザクションがコミットされるときに許可されます.
重複データのロードを防ぐために、仮想コラムとユニークなインデックスが追加されました.
複合の一意キー列にnull値のデータがロードされている場合、そのデータは非重複データとみなされます.
ex)
——————————
col1 | col2 | col3 | col4
——————————
AIP | emc | 123 | null
AIP | emc | 123 | null
例に示すように、冗長データの許可とロード
ただし、C、U、Dを実行する場合、スレッド内のトランザクションはテーブル内のデータ変更を許可しません(lock)
その後、他のトランザクションのデータ変更は、先に実行されたトランザクションがコミットされるときに許可されます.
重複データのロードを防ぐために、仮想コラムとユニークなインデックスが追加されました.
-- ALTER TABLE test_table ADD virtual_col4 varchar(100) as (CASE WHEN col4 is NULL THEN 'NULL' ELSE ACTION_CD END) virtual,
-- ALTER TABLE test_table ADD UNIQUE INDEX test_table_UN_INDEX (col1, col2, col3, virtual_col4)
データがnullの場合、文字列「NULL」がロードされ、固有のデータが認識されます.Reference
この問題について(ユニークなキーボード重複データロードの問題), 我々は、より多くの情報をここで見つけました https://velog.io/@chloeakazhixian/유니크키-널-데이터-중복적재-이슈テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol