Comment utiliser alter Table code> pour ajouter une nouvelle colonne et le rendre unique? P>
4 Réponses :
dépend de la SGBD, mais je pense que ce qui suit est assez portable: si vous souhaitez donner un nom à la contrainte code> unique code>, vous pouvez remplacer la dernière commande avec ceci: p>
Par exemple: Alter Tabley Paiements Ajouter une unité NvarchaR2 (128); Code>
Si la table est vide Si vous avez des données dans le tableau, vous en avez besoin en trois étapes: p>
Comme @APC noté, unique code> permet aux valeurs de NULL code> NULL code>, il n'est donc pas nécessaire de le faire en trois étapes s'il existe des données dans la table.
@Daniel, Oracle est autorisé à faire cela, SQL Server NO Autoriser (jusqu'à ce que vous modifiez les paramètres)
C'est un processus en deux étapes: ajoutez la nouvelle colonne, puis ajoutez la contrainte. Parce que les contraintes uniques permettent aux NULLS Peu importe si la table est peuplée:
SQL> select count(*) from t23 2 / COUNT(*) ---------- 2 SQL> alter table t23 2 add new_col number 3 / Table altered. SQL> alter table t23 2 add constraint t23_uk unique (new_col) 3 / Table altered. SQL>
Vous pouvez le faire avec une seule instruction SQL (au moins avec MySQL):
ALTER TABLE `people` ADD COLUMN `personal_code` VARCHAR(50) UNIQUE AFTER `surname`;
Quel serveur de base de données? Plus d'informations s'il vous plaît.