Comment puis-je supprimer la "contrainte de clé unique" sur une colonne d'une table MySQL à l'aide de phpMyAdmin?
Comment puis-je supprimer la "contrainte de clé unique" sur une colonne d'une table MySQL à l'aide de phpMyAdmin?
Réponses:
Une contrainte unique est également un index.
Utilisez d'abord SHOW INDEX FROM tbl_name
pour connaître le nom de l'index. Le nom de l'index est stocké dans la colonne appelée key_name
dans les résultats de cette requête.
Ensuite, vous pouvez utiliser DROP INDEX :
DROP INDEX index_name ON tbl_name
ou la syntaxe ALTER TABLE :
ALTER TABLE tbl_name DROP INDEX index_name
SHOW CREATE TABLE tbl_name
.
Vous pouvez DROP
créer une contrainte unique à partir d'une table à l' aide de phpMyAdmin comme demandé, comme indiqué dans le tableau ci-dessous. Une contrainte unique a été placée sur le champ Envergure. Le nom de la contrainte est le même que le nom du champ, dans ce cas.
Les index capables de placer une contrainte de clé unique sur une table sont les index PRIMARY
et UNIQUE
.
Pour supprimer la contrainte de clé unique sur une colonne mais conserver l'index, vous pouvez supprimer et recréer l'index avec le type INDEX
.
Notez que c'est une bonne idée que toutes les tables aient un index marqué PRIMARY
.
UNIQUE
index par un régulier INDEX
.
Pour ajouter une contrainte UNIQUE à l'aide de phpmyadmin, accédez à la structure de ce tableau et trouvez ci-dessous et cliquez dessus,
Pour supprimer la contrainte UNIQUE, de la même manière, allez dans la structure et faites défiler jusqu'à l'onglet Index et trouvez ci-dessous et cliquez sur drop,
J'espère que cela fonctionne.
Prendre plaisir ;)
Pour WAMP 3.0: Cliquez sur Structure ci-dessous, ajoutez 1 colonne, vous verrez «- Index» Cliquez sur -Indexes et supprimez l'index que vous souhaitez.
Si vous souhaitez supprimer des contraintes uniques de la table de base de données mysql, utilisez alter table with drop index.
Exemple:
créer une table unique_constraints (unid int, nom_activité varchar (100), CONSTRAINT activty_uqniue UNIQUE (nom_activité), clé primaire (unid));
alter table unique_constraints drop index activty_uqniue;
Où activty_uqniue est UNIQUE pour ACTIVITY_NAME colonne.
La contrainte pourrait être supprimée avec la syntaxe:
Depuis MySQL 8.0.19, ALTER TABLE permet une syntaxe plus générale (et standard SQL) pour supprimer et modifier les contraintes existantes de tout type, où le type de contrainte est déterminé à partir du nom de la contrainte:
ALTER TABLE tbl_name DROP CONSTRAINT symbol;
Exemple:
CREATE TABLE tab(id INT, CONSTRAINT unq_tab_id UNIQUE(id));
-- checking constraint name if autogenerated
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'tab';
-- dropping constraint
ALTER TABLE tab DROP CONSTRAINT unq_tab_id;
mon nom de table est acheteurs qui a une colonne de contrainte unique emp_id maintenant je vais supprimer l'emp_id
étape 1: exécutez les acheteurs sp_helpindex, consultez le fichier image
étape 2: copier l'adresse d'index
étape3: modifier la contrainte de suppression des acheteurs de table [UQ__buyers__1299A860D9793F2E] modifier la colonne de suppression des acheteurs de table emp_id
Remarque:
Blockquote
au lieu d'acheteurs, changez-le en nom de table :)
Blockquote
c'est tout le nom de colonne emp_id avec contraintes qui est supprimé!
Premier tableau à supprimer
aller à SQL
Utilisez ce code:
CREATE TABLE service( --tablename
`serviceid` int(11) NOT NULL,--columns
`customerid` varchar(20) DEFAULT NULL,--columns
`dos` varchar(30) NOT NULL,--columns
`productname` varchar(150) NOT NULL,--columns
`modelnumber` bigint(12) NOT NULL,--columns
`serialnumber` bigint(20) NOT NULL,--columns
`serviceby` varchar(20) DEFAULT NULL--columns
)
--INSERT VALUES
INSERT INTO `service` (`serviceid`, `customerid`, `dos`, `productname`, `modelnumber`, `serialnumber`, `serviceby`) VALUES
(1, '1', '12/10/2018', 'mouse', 1234555, 234234324, '9999'),
(2, '09', '12/10/2018', 'vhbgj', 79746385, 18923984, '9999'),
(3, '23', '12/10/2018', 'mouse', 123455534, 11111123, '9999'),
(4, '23', '12/10/2018', 'mouse', 12345, 84848, '9999'),
(5, '546456', '12/10/2018', 'ughg', 772882, 457283, '9999'),
(6, '23', '12/10/2018', 'keyboard', 7878787878, 22222, '1'),
(7, '23', '12/10/2018', 'java', 11, 98908, '9999'),
(8, '128', '12/10/2018', 'mouse', 9912280626, 111111, '9999'),
(9, '23', '15/10/2018', 'hg', 29829354, 4564564646, '9999'),
(10, '12', '15/10/2018', '2', 5256, 888888, '9999');
--before droping table
ALTER TABLE `service`
ADD PRIMARY KEY (`serviceid`),
ADD unique`modelnumber` (`modelnumber`),
ADD unique`serialnumber` (`serialnumber`),
ADD unique`modelnumber_2` (`modelnumber`);
--after droping table
ALTER TABLE `service`
ADD PRIMARY KEY (`serviceid`),
ADD modelnumber` (`modelnumber`),
ADD serialnumber` (`serialnumber`),
ADD modelnumber_2` (`modelnumber`);