


Pourquoi les contraintes MySQL CHECK échouent-elles dans les versions antérieures à 8.0.16 ?
Problème d'échec de la contrainte MySQL CHECK
Lors de la définition des tables de base de données, il est important d'ajouter des contraintes pour garantir l'intégrité des données. Les contraintes CHECK vous permettent de spécifier les conditions que les valeurs d'une colonne spécifique doivent remplir. Cependant, dans MySQL 8.0.15 et versions antérieures, les contraintes CHECK ne sont pas appliquées, ce qui constitue un cas particulier.
Exemple :
CREATE TABLE Customer ( SD integer CHECK (SD > 0), Last_Name varchar (30), First_Name varchar(30) );
Après avoir créé ce tableau, essayez d'insérer des lignes avec des valeurs SD négatives :
INSERT INTO Customer values ('-2', 'abc', 'zz');
MySQL ne signalera pas d'erreur, même si la valeur insérée viole la contrainte CHECK spécifiée. En effet, selon le manuel de référence MySQL :
<code>CHECK子句会被解析,但所有存储引擎都会忽略它。</code>
Solution :
Pour résoudre ce problème, vous pouvez effectuer l'une des opérations suivantes :
- Mise à niveau vers MySQL 8.0.16 ou supérieur : Cette version commence à prendre en charge les contraintes CHECK. Consultez la documentation MySQL pour plus de détails.
- Implémenter des déclencheurs : Les déclencheurs peuvent être utilisés pour forcer des contraintes que le moteur de stockage ignore. La création d'un déclencheur qui vérifie la valeur SD avant l'insertion, comme indiqué ci-dessous, peut appliquer efficacement la contrainte :
mysql> delimiter // mysql> CREATE TRIGGER trig_sd_check BEFORE INSERT ON Customer -> FOR EACH ROW -> BEGIN -> IF NEW.SD <=0 THEN SET NEW.SD=0; -> END IF; -> END -> // mysql> delimiter ;
Veuillez noter que l'exemple de déclenchement ci-dessus définit la valeur SD des nombres négatifs sur 0, vous pouvez modifier la logique de déclenchement en fonction de vos besoins réels.
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!

MySQLViewShavelimitations: 1) Theydon'tsupportalLSQLOPERations, restreignantDatamanipulation à travers la vue

La bonne gestion de la gestion de la direction

MySQLDOES NONTIMPOSEAHARDLIMITORSTRIGRERS, BUTPRATICALFACTORSEDERTERMINETHEIREFFECTYUSE: 1) ServerConfiguration ImpactStriggerManagement; 2) ComplexTriggersInCreasgeSystemload; 3) LargerTableSlowtriggerPerformance; 4) HighCunCurrencyCanCauseTr fichestring; 5) M) M

Oui, il estafetostoreblobdatainmysql, maisonssider cesfacteurs: 1) stockage: BlobScConSugnifants espace, potentiellement en augmentation

L'ajout d'utilisateurs de MySQL via l'interface Web PHP peut utiliser les extensions MySQLI. Les étapes sont les suivantes: 1. Connectez-vous à la base de données MySQL et utilisez l'extension MySQLI. 2. Créez un utilisateur, utilisez l'instruction CreateUser et utilisez la fonction Password () pour crypter le mot de passe. 3. Empêchez l'injection SQL et utilisez la fonction mysqli_real_escape_string () pour traiter l'entrée de l'utilisateur. 4. Attribuez des autorisations aux nouveaux utilisateurs et utilisez la déclaration de subvention.

MySQL'sblobissuitable ForstoringBinaryDatawithInarelationDatabase, WhileLenosqloloptionsLikEmongoDB, redis et Cassandraofferflexible, ScalablesButions forununstructureddata.blobissimplerbutcanslowdownporduit

ToaddauserRinmysql, utilisation: CreateUser'Username '@' host'identifiedBy'password '; ici'showtodoitsecurely: 1) ChoosetheHostCarelyToCon trolaccess.2) setResourcelimits withoptionslikemax_queries_per_hour.3) usestrong, uniquepasswords.4) Enforcessl / tlsconnectionwith

ToavoidcomMonmistakeswithstringDatatyPesInmysql, compréhension de compréhension, chooseTherightType, andManageEncodingAndCollationSettingSeffectively.1) usECHARFORFIXED-LEGLINGSTRING


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Dreamweaver Mac
Outils de développement Web visuel
