Comment ajouter une contrainte unique à une colonne SQL?
Sep 24, 2025 am 04:27 AMLorsque vous utilisez la table Create, ajoutez des mots clés uniques ou utilisez la table alter Ajouter une contrainte pour ajouter des contraintes aux tables existantes pour vous assurer que les valeurs de la colonne sont uniques et prennent en charge les colonnes uniques ou plusieurs colonnes. Avant d'ajouter, vous devez vous assurer que les données ne sont pas dupliquées. Vous pouvez le supprimer par contrainte de dép?t, faire attention aux différences de syntaxe entre les différentes bases de données et les valeurs nuls.
Pour ajouter une contrainte unique à une colonne SQL, vous pouvez le faire soit lors de la création du tableau ou après le tableau, il existe déjà. La contrainte unique garantit que toutes les valeurs d'une colonne sont distinctes, empêchant les entrées en double.
1. Ajouter une contrainte unique pendant la création de table
Lorsque vous définissez une nouvelle table, incluez le mot-clé unique à c?té de la définition de la colonne.
Créer des utilisateurs de table (
id int clé primaire,
Email Varchar (255) unique
));
Cela garantit que la colonne de messagerie ne contient que des valeurs uniques dès le début.
2. Ajout d'une contrainte unique à une colonne existante
Si le tableau existe déjà, utilisez l'instruction ALTER TABLE avec Ajouter une contrainte .
Modifier les utilisateurs de la table
Ajouter une contrainte UQ_USERS_EMAIL UNIQUE (EMAIL);
Cela ajoute une contrainte unique nommée ( UQ_USERS_EMAIL ) sur la colonne de messagerie . Nommer la contrainte le rend plus facile à gérer plus tard.
3. Notes importantes
- Une contrainte unique permet une valeur nul dans la plupart des bases de données. Plusieurs NULL peuvent être autorisés en fonction du système de base de données.
- S'il y a des valeurs en double existantes dans la colonne, l'ajout de contrainte échouera.
- Vous pouvez appliquer une contrainte unique sur plusieurs colonnes en les répertoriant: UNIQUE (COL1, COL2) .
4. Supprimer une contrainte unique
Si nécessaire, vous pouvez supprimer la contrainte en utilisant:
Modifier les utilisateurs de la table
CONSTRAINTION DE DROP UQ_USERS_EMAIL;
La syntaxe peut varier légèrement en fonction de votre base de données (par exemple, MySQL vs PostgreSQL vs SQL Server).
Fondamentalement, utilisez unique la création de la table ou alter le tableau ... Ajoutez une contrainte par la suite. Assurez-vous que les données sont propres avant d'appliquer la contrainte.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

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

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

USECOMmentOnColumnoralterTablewithCommentToDocumentTables etColumnSinsQL; SyntaxVariesByDBMS - PostgreSQLandoracleUseCommenton, MySQLUSESCommentIncreate / Alterstatements, andcomementsCanBeviewEdViaSystemtslienformations_schema, ButsqliTelackSSUPPort.

La fonction SoundEx convertit le texte en un code à quatre caractères représentant la prononciation, ajoute trois chiffres à la première lettre, ignore les voyelles et les lettres spécifiques, et cartographie des consonnes avec des prononciations similaires au même nombre, réalisant la recherche basée sur la prononciation. Par exemple, Smith et Smythe génèrent tous deux S530, et les noms avec des prononciations similaires peuvent être trouvés via WhereSoundEx (Last_name) = SoundEx ('Smith'). Combiné avec la fonction de différence, il peut renvoyer un score de similitude de 0 à 4, filtrez les résultats de la projection de la prononciation, ce qui convient au traitement des différences d'orthographe, mais a un effet limité sur les noms non anglophones, et l'optimisation des performances doit être accordée à l'attention.

ToFindorphaneDrecords, usealeftjoinornotexiststoidentifyChildRecordswithoutmatchingPaRentRecords.forexample, selecto.fromordersoleftjoinoistomerscono.customer_id = c.Customer_idwherec.Customer_idisnullredSordersLinkEdtonon-ExistCustomerSers.AltervatIverv.

Les sous-requêtes sont des requêtes imbriquées dans une autre requête. Ils conviennent à des calculs uniques simples et peuvent être situés dans certains, à partir des clauses ou où les clauses; 2. CTE est défini avec des clauses pour améliorer la lisibilité des requêtes complexes et de la récursivité de soutien et de multiples références; 3. Les sous-requêtes conviennent à un usage unique, et le CTE convient plus aux scénarios où une structure, une réutilisation ou une récursivité claires est requise.

Lorsque vous utilisez CreateTable, ajoutez un mot-clé unique ou utilisez AlterTableAddConstraint pour ajouter des contraintes aux tables existantes pour vous assurer que les valeurs de la colonne sont uniques et prennent en charge les colonnes uniques ou plusieurs colonnes. Avant d'ajouter, vous devez vous assurer que les données ne sont pas dupliquées. Vous pouvez le supprimer via DropConstraint, faites attention aux différences de syntaxe entre les différentes bases de données et les valeurs nuls.

Anon-equijoinusses composé des opérateurs comme entre,> =, ou! = TomatchRowsBetWeentables.2.

Utilisez la fonction Last_day () (MySQL, Oracle) pour obtenir directement le dernier jour du mois où la date spécifiée est, comme Last_day ('2023-10-15') pour retourner 2023-10-31; 2. SqlServer utilise la fonction eomonth () pour atteindre la même fonction; 3. PostgreSQL calcule la fin du mois via date_trunc et intervalle; 4. Sqlite utilise la fonction de date pour combiner ?startofmonth?, ?1 mois? et ?-1day? pour obtenir les résultats.

SQLSERVERUSESNEWID () TOGENERETERTUCES; 2.MySQLUSUUUID () Forversion1Uuids; 3.PostgreSQUSESGEN_RANDOM_UUID () After AnablingPgcrypto; 4.SqlitelacksBuilt-Insupport, SogereateuUidsInapcationCode.
