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

Quelles sont les instructions SQL pour supprimer des champs dans une table ?

coldplay.xixi
coldplay.xixioriginal
2020-07-03 16:20:4815373parcourir

Les instructions SQL pour supprimer des champs dans la table sont : 1. Supprimer les colonnes sans valeurs par défaut [alter table Test drop COLUMN BazaarType]; ].

Quelles sont les instructions SQL pour supprimer des champs dans une table ?

Instruction SQL pour supprimer les champs de la table

1. Supprimer les colonnes sans valeurs par défaut :

alter table Test drop COLUMN BazaarType
.

2. Supprimer les colonnes avec les valeurs par défaut :

Supprimez d'abord les contraintes (valeurs 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)

Ensuite Après avoir supprimé la colonne

alter table Test drop COLUMN BazaarType

3. Modifiez le nom du champ

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


Modifiez 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 est signalée car il y a des contraintes.

a. Définir le champ dans le tableau sur NOT NULL (non vide) et ajouter une valeur par défaut (valeur par défaut) au champ ajoutera des contraintes au champ, et ces contraintes seront ajoutées. Ensuite, des erreurs similaires se produiront lors de l'utilisation de scripts SQL pour modifier les types de champs et supprimer des champs

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

c .Exécutez la modification. /supprimer à nouveau le script.

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 les contraintes existantes

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

Par exemple :

exec('alter table T_tableName drop constraint  报错信息的约束名' )

3. Exécutez ensuite le script pour modifier le 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)
<.>Recommandations d'apprentissage associées :

Tutoriel vidéo 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