Requete php/mysql avec CONCAT()
oloufemi
Messages postés
22
Statut
Membre
-
moderno31 Messages postés 900 Statut Membre -
moderno31 Messages postés 900 Statut Membre -
Bonjour,
Bonjour, j'aimerais faire la concatenation d'un champ si la valeur n'existe pas au prealabre dans ce champ. Je m'explique:
- voici la requete
"INSERT IGNORE INTO products_".$bd." (product_code, id_box, id_mbox) VALUES ('$product_code','$id_box','$id_mbox')
ON DUPLICATE KEY UPDATE CONCAT(id_box , ',$id_box') "
La clé primaire est product_code.
- Ce que je veux faire c'est d'effectuer la concatenation si et seulement la valeur dans $id_box n'existe pas encore dans le champ 'id_box'
Normalement ce que je faisais c'est
1- un select pour choisir la valeur du champ 'id_box'
2- un eregi($id_box, $sql_result["id_box"]) pour tester l'existence de $id_box dans le champ 'id_box'
3- enfin un update CONCAT si la valeur n'existe pas
Mais le probleme est que la table contient deja 2 millions d'entrées et les select prennent du temps, surtout que je rentre en moyenne 600 nouvelles valeurs
Si vous avez une idée, merci d'avance.
O[_FAK
Bonjour, j'aimerais faire la concatenation d'un champ si la valeur n'existe pas au prealabre dans ce champ. Je m'explique:
- voici la requete
"INSERT IGNORE INTO products_".$bd." (product_code, id_box, id_mbox) VALUES ('$product_code','$id_box','$id_mbox')
ON DUPLICATE KEY UPDATE CONCAT(id_box , ',$id_box') "
La clé primaire est product_code.
- Ce que je veux faire c'est d'effectuer la concatenation si et seulement la valeur dans $id_box n'existe pas encore dans le champ 'id_box'
Normalement ce que je faisais c'est
1- un select pour choisir la valeur du champ 'id_box'
2- un eregi($id_box, $sql_result["id_box"]) pour tester l'existence de $id_box dans le champ 'id_box'
3- enfin un update CONCAT si la valeur n'existe pas
Mais le probleme est que la table contient deja 2 millions d'entrées et les select prennent du temps, surtout que je rentre en moyenne 600 nouvelles valeurs
Si vous avez une idée, merci d'avance.
O[_FAK
A voir également:
- Requete php/mysql avec CONCAT()
- Easy php - Télécharger - Divers Web & Internet
- Mysql community download - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
Je ne fais pas de switch case parce qu'en faisant un insert ignore... on duplicate, il m'est impossible de connaitre au préalable la valeur de id_box qui se trouvait dans la base de donnée.
S'il existe une syntaxe du genre: insert ignore... on duplicate update <if ... else ...>
ce serait l'idéal pour moi, mais j'ai beau cherché je ne trouve rien de pareil.
Merci pour ta réponse.