Report inadequate content

Mysql: Llenar tabla con datos aleatorios (de una lista)

{
}

En alguna ocasión nos hemos encontrado con la necesidad de actualizar / insertar registors de una tabla con elementos aleatoris a partir de una lista.

Esta operación es especialmente útil cuando queremos crear datos "dummy" para entornos de desarrollo.

El ejemplo de este post es para MySql:

UPDATE files f SET license_type = (SELECT ELT(0.5 + RAND() * 2, 'Free', 'Try' ) )
{
}
{
}

Comments Mysql: Llenar tabla con datos aleatorios (de una lista)

Para elegir entre dos opciones funciona de maravilla, pero ¿cómo sería para por ejemplo meter 10? No entiendo exactamente por qué multiplicas por 1/2 y le sumas un random.
¿Puedes explicarlo?
Gracias por el artículo :D
Anonymous Anonymous 08/08/2012 at 22:03
La respuesta al comentario de arriba sería algo así (para n opciones):
UPDATE files f SET license_type = (SELECT ELT(0.5 + RAND() * n, 'opc_1', 'opc_2',...,'opc_n' ) )
Por otro lado, no se multiplica, se suma 0,5. De esta forma se aplicará el redondeo para arriba cogiendo la lista de elementos desde el 1.
Otra opción sería algo parecido a ELT(1+RAND()*(n-1))...

Leave your comment Mysql: Llenar tabla con datos aleatorios (de una lista)

Log in to Obolog, or create your free blog if you are not registered yet.

User avatar Your name