sql >> データベース >  >> RDS >> Mysql

MySQL ALTER TABLE、一意のランダム値を持つ列を追加

    -- tbl_name: Table
    -- column_name: Column
    -- chars_str: String containing acceptable characters
    -- n: Length of the random string
    -- dummy_tbl: Not a parameter, leave as is!
    UPDATE tbl_name SET column_name = (
      SELECT GROUP_CONCAT(SUBSTRING(chars_str , 1+ FLOOR(RAND()*LENGTH(chars_str)) ,1) SEPARATOR '')
      FROM (SELECT 1 /* UNION SELECT 2 ... UNION SELECT n */) AS dummy_tbl
    );
    
    -- Example
    UPDATE tickets SET code = (
      SELECT GROUP_CONCAT(SUBSTRING('[email protected]' , 1+ FLOOR(RAND()*LENGTH('[email protected]'))     ,1) SEPARATOR '')
      FROM (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5) AS dummy_tbl
    );
    



    1. MySQLINNERJOINエイリアス

    2. VisualStudio2012でSQLServerT-SQLをデバッグする方法

    3. MySQLに保持されているキーやその他の構造機能を使用してテーブルを複製するにはどうすればよいですか?

    4. Spring Data JPA Auditingが@Modifyingアノテーションを使用したJpaRepository更新メソッドで機能しないのはなぜですか?