Mysql
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql използва данни за ред в същата заявка, за да избере друг ред?

  2. Необходимо е да конвертирате колони в редове в MYSQL

  3. Кое е по-бързо - INSTR или LIKE?

  4. как да игнорирам обратните отметки в codeigniter, когато използвам активни записи? трябва да поръчам по случаи

  5. Какъв е добър подход за управление на db връзката в Google Cloud SQL (GAE) Python приложение?