Le champ id de ma table hitsparpaysnew vaut systématiquement 0 et je veux lui affecter des valeurs entières et différentes allant de 1 à .....
A cette fin, je viens de créer le petit script suivant :
<?php
include "connexion.php";
$SQL = $pdo->query("SELECT id FROM hitsparpaysnew");
$id=0;
while ($row = $SQL->fetch(PDO::FETCH_ASSOC))
{
$id++;
$SQL1 = $pdo->query("UPDATE hitsparpaysnew SET id=$id ");
}
?>
Déjà, il n'y a pas de WHERE dans ta requête qui fait l'UPDATE. Ce qui veut dire que, dans le cas où le SELECT ramène 25 lignes, tu vas faire 25 tours de boucle en mettant le même nombre partout 1... 2... 3... puis 25 qui aura le dernier mot.
* ll n'y a pas de WHERE dans ta requête qui fait l'UPDATE. Un WHERE est-il obligatoire si l'on souhaite que le traitement s'effectue sur toutes les lignes ?
* tu vas faire 25 tours de boucle en mettant le même nombre partout. Dans mon esprit, la variable $id passe à 1 puis UPDATE puis à 2 puis UPDATE ..
2) s'il sert à ce que je pense => un identifiant UNIQUE de la ligne dans ta table, il doit être en auto_increment NON NULL dans la création de la table,
3) tu ne dois jamais modifier un identifiant à la main, laisse le SGBD gérer ça seul il sait le faire bien mieux que toi (ou moi),
4) Si il vaut 0, c'est qu'il y a un problème dans la requête d'insertion de donnée. Peux-tu nous la montrer ?
1) & 2) --> Je me rends compte après coup, que j'ai omis cet identifiant UNIQUE. Il devrait en effet être en auto_increment NON NULL et j'essaie de rattraper le coup.
3) Maintenant, si j'essaie de le mettre ainsi, j'ai un message d'erreur
4) Je n'insère aucune donnée dedans, j'ai à l'origine créé cette table à partir d'un fichier Excel.
Ton message d'erreur c'est à cause des valeurs 0 (ou autres identiques) donc si tu as 25 données, modifie à la main les id 1 => 25, puis passe le champ en UNIQUE auto_increment not null, ça devrait le faire.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales