Tema: rand() mysql
Ver Mensaje Individual
  #9 (permalink)  
Antiguo 08/12/2013, 09:35
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: rand() mysql

Empecemos por el principio:
1) ¿Para qué y por qué quieres usar un RAND en el INSERT de la tabla?
2) Todo rand() es un numero de punto flotante, cuya parte entera es la que puede que quieras poner en la tabla, y por lo tanto si quieres insertarlo, debes usar una columna de tipo numérica.
3) No existen aleatorios negativos, por lo que el campo además el campo debería ser sin signo, con lo que tendrías más capacidad de representación.
4) No existen los numeros absolutamente aleatorios. Se obtienen mediante el clock interno del micro, por lo que siendo cíclico, regular, puede darse que dos ejecuciones devuelvan el mismo numero.
5) Siendo que ese numero lo usas (aparentemente) de clave primaria, antes de insertarlo deberías validar que no hay asido ingresado previamente.

En definitiva, no existe un "problema" para ingresar el RAND() en la base, porque es simplemente un número, y lo debes ingresar como tal.
Lo que está mal planteada es la necesidad y el método de verificacion de si ese numero no se está duplicando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)