Ho una colonna in sql che è unica, IDprivate, che è un varchar(100)
ma come è possibile che con il codice sottostante sql me lo blocca scrivendomi Duplicate entry '96320031010279' for key 'IDprivate'
$result = mysqli_query($mysqli_connection, "SELECT * FROM CATALOGO WHERE IDprivate IS NULL GROUP BY oggetto");
while($row = mysqli_fetch_assoc($result)){
$oggetto = $row['oggetto'];
$IDprivate = hrtime(true);
if(!mysqli_query($mysqli_connection, "UPDATE CATALOGO SET IDprivate = '$IDprivate' WHERE oggetto = '$oggetto'")){
echo $oggetto." ".$IDprivate."<br>".mysqli_error($mysqli_connection);
exit();
}else{
echo "ok";
}
}
me lo fa anche se metto una cosa del genere
$IDprivate = hrtime(true).microtime(true).rand(1,9999999);
è assurdo che prenda IDprivate uguali... boh... come fa a pescare dei valori uguali, che tra l'altro vado a vedere sul database e non esistono tra quelli già inseriti...
su 8000 risultati circa me ne ha modificato appena 100, e poi basta, dopo questi 100 continua a darmi Duplicate Key
Ma le stranezze tutte a me?
Non c'è verso, non capisco perché veda dei valori uguali quando nemmeno ci sono nella tabella.
è un valore estremamente random, come fa a dirmi che c'è già nella tabella?
Eppure 100 li ha modificati. Non capisco perché dopo questi 100 continua a vedere valori duplicate che nemmeno esistono poi nel campo IDprivate...
Sto cercando anche nella documentazione ma non trovo nulla...