J'ai une table existante appelée Persion
. Dans ce tableau, j'ai 5 colonnes:
- persionId
- Pname
- PMid
- Description
- Pamt
Lorsque j'ai créé cette table, j'ai défini PersionId
etPname
comme clé primaire .
Je veux maintenant inclure une colonne de plus dans la clé primaire - PMID. Comment puis-je écrire une ALTER
déclaration pour ce faire? (J'ai déjà 1000 enregistrements dans le tableau)
personId
dans votre table. Cela signifie à son tour que si vous vous joignez à partir d'une table de type transaction (plusieurs) à cette table sur cette seule clé, vous obtiendrez des enregistrements en double, conduisant à un «double comptage» des enregistrements de transaction.Réponses:
supprimer la contrainte et la recréer
Éditer:
vous pouvez trouver le nom de la contrainte en utilisant la requête ci-dessous:
la source
Je pense que quelque chose comme ça devrait fonctionner
la source
est une meilleure solution car vous contrôlez la dénomination de la clé_principale.
C'est mieux que de simplement utiliser
qui crée des noms aléatoires et peut causer des problèmes lors de l'écriture de scripts ou de la comparaison de bases de données
la source
Si vous ajoutez une contrainte de clé primaire
par exemple:
la source
Il y a déjà une clé primaire dans votre table. Vous ne pouvez pas simplement ajouter une clé primaire, sinon cela entraînera une erreur. Parce qu'il y a une clé primaire pour la table sql.
Tout d'abord, vous devez supprimer votre ancienne clé primaire.
MySQL:
SQL Server / Oracle / MS Access:
Deuxièmement, ajoutez la clé primaire.
MySQL / SQL Server / Oracle / MS Access:
ou le meilleur ci-dessous
Cela peut définir le nom de la contrainte par développeur. Il est plus facile de maintenir la table.
Je suis devenu un peu confus quand j'ai regardé toutes les réponses. Je recherche donc un document pour trouver chaque détail. J'espère que cette réponse pourra aider d'autres débutants SQL.
Référence: https://www.w3schools.com/sql/sql_primarykey.asp
la source
La contrainte PRIMARY KEY identifie de manière unique chaque enregistrement d'une table de base de données. Les clés primaires doivent contenir des valeurs UNIQUES et la colonne ne peut pas contenir de valeurs NULL.
la source
Nécromancement.
Juste au cas où quelqu'un aurait un aussi bon schéma pour travailler avec moi ...
Voici comment le faire correctement:
Dans cet exemple, le nom de la table est dbo.T_SYS_Language_Forms et le nom de la colonne est LANG_UID
la source
Veuillez essayer ceci-
la source
Essayez d'utiliser ce code:
la source
la source