Comprenons la différence entre MySQL et SQL standard. MySQL effectue de nombreuses opérations Dans certains cas, les choses fonctionnent différemment −
Il existe de nombreuses différences entre MySQL et SQL standard lorsqu'il s'agit d'accorder des autorisations aux utilisateurs. Dans MySQL, lorsqu'une table est supprimée, les autorisations de la table ne sont pas automatiquement révoquées. Vous devez utiliser explicitement l'instruction REVOKE pour révoquer les autorisations de table.
L'implémentation par MySQL des contraintes de clé étrangère est différente de la norme SQL. S'il existe de nombreuses lignes dans la table parent avec la même valeur de clé de référence, le moteur InnoDB effectue une vérification de clé étrangère pour d'autres lignes parent avec la même valeur de clé pour s'assurer qu'elles n'existent pas.
Par exemple, si une contrainte de type RESTRICT est définie et qu'il y a des lignes enfants avec plusieurs parents, InnoDB n'autorisera pas la suppression de la ligne parent.
Dans les instructions SQL qui utilisent l'insertion, la suppression ou la mise à jour de plusieurs lignes, les contraintes de clé étrangère (telles que les contraintes uniques) sont vérifiées ligne par ligne. Lors de la vérification d'une clé étrangère, InnoDB définit un verrou partagé au niveau de la ligne sur l'enregistrement enfant ou l'enregistrement parent qui doit être vérifié.
Pour des raisons de performances, MySQL nécessite que les colonnes de référence soient indexées. Mais MySQL n'impose pas que les colonnes référencées soient uniques ou déclarées non nulles.
Standard SQL utilise la syntaxe C /* ceci est un commentaire */ pour exprimer des commentaires Le serveur MySQL prend également en charge cette syntaxe. Le SQL standard utilise ''--'' comme séquence pour démarrer un commentaire. Le serveur MySQL utilise « # » comme caractère pour commencer un commentaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!