Euroland, il mio fornitore di hosting
Questo articolo è stato pubblicato 3 anni 3 mesi 4 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi. Questo sito non è responsabile per eventuali errori causati da questo problema.Quando ho aperto la partita IVA, pensavo che mi sarei limitato a fare il freelancer e invece nel giro di pochi mesi mi sono trovato a dover diventare una web agency. Così mi misi a cercare una buona offerta di hosting, e il mio requisito principale era il risparmio.
Alla fine ho scelto Euroland, e la scelta è stata quantomai azzeccata. Sebbene i prezzi siano decisamente concorrenziali, il servizio è impeccabile e l'assistenza impagabile. Hanno un numero verde a cui rispondono con gentilezza e hanno avuto sempre la pazienza di spiegarmi tutto, intervenendo tempestivamente quando insorgevano problemi tecnici. Peccato che tante volte abbiamo il pregiudizio "prezzo basso = bassa qualità"...
Ultimamente il rapporto è diventato bidirezionale, nel senso che sto iniziando a fare dei lavori per loro, risolvendo per esempio un problema con un database che aveva smarrito gli auto_increment alle chiavi primarie.
Aggiornamento: lo script è stato perfezionato e ora l'errore viene corretto automaticamente, non solo segnalato.
Ho scritto rapidamente uno script che individuava le tabelle con questo problema:
mysql_connect('localhost', $username, $password);
mysql_select_db($database);
$result = mysql_query('SHOW TABLES');
while ($row = mysql_fetch_assoc($result))
{
echo "Controllo la tabella " . ($row["Tables_in_$database"]) . '...
';
$result2 = mysql_query('SHOW COLUMNS FROM ' . $row["Tables_in_$database"]);
while ($row2 = mysql_fetch_assoc($result2))
{
if($row2['Key'] == 'PRI' and $row2['Extra'] != 'auto_increment')
{
echo 'La chiave primaria ' . $row2['Field'] . ' non ha auto_increment!
';
}
}
}
Poi sono intervenuto manualmente sulle singole tabelle. In questa situazione, si riesce ad inserire una entry che prende come id 0 e all'inserimento successivo viene fuori l'errore "duplicate key". Prima di mettere l'auto_increment, bisogna dare manualmente l'ID all'entry che ha ID 0, e poi si può mettere l'auto_increment sulla chiave primaria.