J'ai une table MySQL qui n'aura qu'une seule ligne. Quelle devrait être ma déclaration pour la première fois que j'insère dans cette rangée, et pour les mises à jour ultérieures? J'ai essayé une insertion où la clé primaire est égale à 1, mais cela ne tient pas compte de la première fois quand aucune ligne n'existe encore.Quel est le meilleur moyen d'insérer et de mettre à jour une table à une ligne dans MySQL?
3
A
Répondre
7
INSERT INTO table(col1,col2,col3) VALUES(val1,val2,val3) ON DUPLICATE KEY UPDATE col1 = val1, col2 = val2, col3 = val3;
9
Si votre tableau ne comporte qu'une seule ligne, vous pouvez envisager de précharger les données initiales dans la ligne de votre script de création de base de données. Ensuite, votre code n'aura jamais besoin d'émettre une instruction UPDATE. De plus, vous n'aurez pas besoin d'une colonne de clé primaire car il n'y a qu'une seule ligne. Vous pouvez ensuite émettre des instructions UPDATE sans avoir besoin d'une clause WHERE.
+0
Merci pour le bon conseil. Malheureusement, il s'agit d'un plugin Wordpress, et la session db est déjà ouverte et initialisée. –
Questions connexes
- 1. MySQL mettre à jour une ligne quand une autre change
- 2. Quel est le meilleur moyen de mettre en ligne une petite application ruby?
- 3. tsql: meilleur moyen de mettre à jour une table db avec un fichier csv
- 4. Comment mettre à jour une table relationnelle?
- 5. mettre à jour une table dans db2 ligne par ligne à partir de .net
- 6. Comment mettre à jour une ligne MySQL en PHP?
- 7. Comment mettre à jour une table automatiquement?
- 8. Quel est le meilleur moyen de mettre à jour les contrôles de formulaire à partir d'un thread de travail?
- 9. Quel est le meilleur moyen de calculer les hits de pages par jour dans MySQL?
- 10. Comment mettre à jour une seule ligne dans un DataGridView?
- 11. Quel est le meilleur moyen d'ajouter des utilisateurs à plusieurs groupes dans une base de données?
- 12. Quel est le meilleur moyen de renvoyer une erreur à un processus TSQL?
- 13. Quel est le meilleur moyen de copier une liste?
- 14. Quel est le meilleur moyen d'ajouter une API à une application Django?
- 15. Quel est le meilleur moyen d'extraire des données d'une base de données avec une mise à jour si nécessaire?
- 16. TSQL Comment mettre à jour une colonne à partir d'une ligne dans la même table?
- 17. Quel est le meilleur moyen de lier un répéteur à une réponse AJAX?
- 18. Quel est le meilleur moyen de mettre à jour un seul enregistrement via SQL et obtenir l'ID de l'enregistrement qui a été mis à jour? (Java/MSSQL)
- 19. Quel est le meilleur moyen d'écrire dans plusieurs journaux mis à jour en permanence?
- 20. SQL: Mettre à jour une ligne et renvoyer une valeur de colonne avec 1 requête
- 21. MySQL: Compter les enregistrements d'une table et en mettre à jour une autre
- 22. Quel est le meilleur moyen d'ajouter des variantes du même caractère à une vue dans Cocoa
- 23. Quel est le meilleur moyen de mettre à jour une page ASPX lorsque ses contrôles ASCX enfant doivent déclencher une modification?
- 24. Quel est le meilleur moyen d'ajouter des extraits de code color-sytax à une page Web?
- 25. Comment mettre à jour mysql?
- 26. Quel est le meilleur moyen d'extraire une chaîne de version à partir d'un fichier?
- 27. Quel est le meilleur moyen de poster une date/heure dans une vue django?
- 28. Mettre à jour la colonne d'une autre table - mySQL 3.5.2
- 29. Quel est le meilleur moyen d'afficher tout le code Javascript généré ou lié à une page?
- 30. Quel est le moyen correct/rapide de mettre à jour/insérer un enregistrement en SQL (Firebird/MySql)
Est-il sûr à 100% d'écraser pk/ck/uniques cols comme ça? Je sais que ça fonctionne. Je l'ai testé sur pk et unique. Mais est-ce sûr, y at-il des cas de coin quand il cesse de travailler, etc. J'ai demandé la même chose dans [ce] (http://stackoverflow.com/questions/32179878/insert-into-on-duplicate-update-all-values) question. – CoR