Maison >base de données >SQL >Quelles sont les instructions SQL pour supprimer des champs de table ?

Quelles sont les instructions SQL pour supprimer des champs de table ?

coldplay.xixi
coldplay.xixioriginal
2020-06-22 15:35:196418parcourir

Tutoriel recommandé : "Tutoriel vidéo mysql"

Quelles sont les instructions SQL pour supprimer des champs de table ?

Les instructions SQL pour supprimer les champs de la table sont :

1 Supprimer les colonnes sans valeurs par défaut :

alter table Test drop COLUMN BazaarType

2. Colonne de valeur :

Supprimez d'abord la contrainte (valeur par défaut)alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F

(alter table Test DROP COLUMN BazaarType Le message d'erreur est DF__SheetTest__Attac__0F8D3381)

puis supprimez la colonne alter table Test DROP COLUMN BazaarType

3.

ALTER TABLE 表名 ADD 字段名 INT  DEFAULT (0) NOT NULL;

Modifier le type de champ de clé primaire

alter table [tablename] alter column [colname] [newDataType])

Lors de la modification du type de champ d'une table, une erreur sera signalée car il sont des contraintes.

a. Des opérations telles que définir un champ dans la table sur NOT NULL et ajouter une valeur par défaut à un champ ajouteront des contraintes au champ. Après avoir ajouté ces contraintes, utilisez des scripts SQL pour modifier le type de champ et supprimer le champ.

b. Recherchez les contraintes existantes sur le champ et supprimez les contraintes existantes

c. Exécutez à nouveau le script de modification/suppression.

Solution :

1. Recherchez le nom de contrainte du champ dans la table (ou en fonction de l'invite et de l'objet existants 'DF__******' )

declare @name varchar(50)
select  @name =b.name from sysobjects b join syscolumns a on b.id = a.cdefault 
where a.id = object_id('TableName') 
and a.name ='ColumName'

2. Supprimez la contrainte existante

exec('alter table TableName drop constraint ' + @name)

Par exemple : exec('alter table T_tableName drop constraint Le nom de la contrainte du message d'erreur' )

3 .Exécuter à nouveau Modifiez simplement le script du type de champ

alter table dbo.T_tableName alter column Id BIGINT not NULL
alter table dbo.T_tableName add constraint PK_Id primary key(Id)

Articles connexes recommandés : "Article technique sur la base de données SQL"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn