[解決済み] MySQLで既存データのGUIDを生成するには?
2022-09-03 03:13:15
質問
MySQL テーブルに大量のデータをインポートしたところ、列 "GUID"があり、基本的に既存のすべての行を新しい固有のランダムな GUID で埋めたいと考えています。
MySQL でこれを行うにはどうすればよいですか。
私は
UPDATE db.tablename
SET columnID = UUID()
where columnID is not null
そして、すべてのフィールドを同じにする
どのように解決するのですか?
最も簡単な方法かどうかは分かりませんが、うまくいきます。アイデアは、あなたに代わってすべての作業を行うトリガーを作成し、次に、テーブルを更新するクエリを実行し、最後にこのトリガーを削除することです。
delimiter //
create trigger beforeYourTableUpdate BEFORE UPDATE on YourTable
FOR EACH ROW
BEGIN
SET new.guid_column := (SELECT UUID());
END
//
次に
UPDATE YourTable set guid_column = (SELECT UUID());
そして
DROP TRIGGER beforeYourTableUpdate
;
アップデイト トリガーを使用しない、プライマリキーまたはユニークインデックスを必要とする別の解決策 :
UPDATE YourTable,
INNER JOIN (SELECT unique_col, UUID() as new_id FROM YourTable) new_data
ON (new_data.unique_col = YourTable.unique_col)
SET guid_column = new_data.new_id
アップデイト
をもう一度実行してみてください。
元のクエリも動作するようです。
WHERE columnID is not null
を必要としないので、すべての私の空想のコードは必要ありません。
関連
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] 英数字のランダムな文字列を生成する方法
-
[解決済み] 0から9までのランダムな整数を生成する
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み] GUIDとUUIDの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのLike演算子に関する詳細
-
MySQLインストールチュートリアル(Windows用)詳細
-
MySQLによる既存テーブルのパーティショニングの実装
-
[解決済み】文字列からuniqueidentifierに変換する際に変換に失敗する - 2つのGUIDの場合
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
mysql がエラーを報告します。不明な文字セットです。'utf8mb4'
-
[解決済み] MySQLのプロセスリストを見つけ、それらのプロセスを終了させる方法は?
-
[解決済み] Ubuntu linux上で動作するリモートMySQLサーバーを再起動する方法は?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?