« MySQL/Manipulation de données » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
→‎UPDATE : déplacement de l'erreur à la fin du livre
Ligne 71 :
 
Avec <code>ORDER BY</code> il est possible de classer les enregistrements avant l'insertion, voire même sur un nombre donné de lignes (avec <code>LIMIT</code>).
 
Il est impossible de mettre à jour une table pendant en même temps qu'elle une subit sous-requête. Par exemple, pour réinitialiser un mot de passe {{w|Système de publication pour l'Internet|SPIP}} :
mysql> UPDATE spip_auteurs SET pass =
(SELECT pass FROM spip_auteurs WHERE login='paul') where login='admin';
ERROR 1093 (HY000): You can't specify target table 'spip_auteurs' for update in FROM clause
 
Par ailleurs, il est possible de sélectionner les enregistrements à mettre à jour automatiquement<ref>({{en}}) http://www.xaprb.com/blog/2006/06/23/how-to-select-from-an-update-target-in-mysql/</ref>.
 
Astuces de performances :