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

MySQL /Railsの列のランダムなデフォルト値を取得するにはどうすればよいですか?

    移行は、データベースを作成するとき、またはデータベースの構造を変更するときにのみ実行され、新しいレコードを保存するときは実行されません。ミハイルはbefore_saveを提案するのに正しいです 折り返し電話。モデルで次のようなことを行うことができます:

    class Model < ActiveRecord::Base
      before_save :set_empty_color_to_random_value
    
      def set_empty_color_to_random_value
        self.color = Color.order("RANDOM()").first.color if self.color.empty?
      end
    end
    

    RANDOM()に注意してください PostgreSQLとSQLiteで動作しますが、MySQLでは動作しません。 MySQLの場合、RAND()を使用する必要があります 代わりに。




    1. Mysqlターゲットマシンがアクティブに拒否したため、接続できませんでした

    2. ResultSetを閉じた後の操作は許可されません(mysql、java)

    3. GROUPBYを使用したmysqlピボットクエリの結果

    4. ユーザー別コンテンツ:同じ名前または結合の列を持つ2つのテーブル?