sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Cómo actualizar/insertar fechas aleatorias en SQL dentro de un rango de fechas específico

Empezaría con algo como esto. Se pueden combinar varios de estos, pero los dividí para que puedan ver lo que estoy haciendo.

Para obtener números aleatorios, puede usar rand(). Obtenga uno para la fecha, hora, minuto y segundo

$randomDate = rand(1,31);
$randomHour = rand(1,24);
$randomMinute = rand(0,59);
$randomSecond = rand(0,59);

Querrá ceros a la izquierda (03 en lugar de 3) para que pueda usar str_pad para agregarlos, si es necesario

$randomDate = str_pad($randomDate, 2, '0',STR_PAD_LEFT);
//The '2' is how many characters you want total
//The '0' is what will be added to the left if the value is short a character

Haga lo mismo con todos sus otros valores aleatorios. Solo porque me gustan las consultas ordenadas, debe crear sus cadenas de actualización finales a continuación.

$newDate = '2008-09-'.$randomDate;
$newTime = $randomHour.':'.$randomMinute.':'.$randomSecond;

Ahora no sé cómo está determinando qué filas desea actualizar, así que se lo dejo a usted. Como ejemplo, le mostraré una consulta si desea hacer esto con Primary_id 3:

$x = mysql_query("UPDATE yourTable SET Begin_Date=\"$newDate\", Timestamp=\"$newTime\" WHERE Primary_id = 3");