Heim > Datenbank > SQL > Welche SQL-Anweisungen gibt es zum Löschen von Feldern in einer Tabelle?

Welche SQL-Anweisungen gibt es zum Löschen von Feldern in einer Tabelle?

coldplay.xixi
Freigeben: 2020-07-03 16:20:48
Original
15409 Leute haben es durchsucht

Die SQL-Anweisungen zum Löschen von Feldern in der Tabelle sind: 1. Spalten ohne Standardwerte löschen [alter table Test drop COLUMN BazaarType] 2. Spalten mit Standardwerten löschen, [alter table Test DROP COLUMN BazaarType]. ].

Welche SQL-Anweisungen gibt es zum Löschen von Feldern in einer Tabelle?

SQL-Anweisung zum Löschen von Feldern in der Tabelle

1. Spalten ohne Standardwerte löschen:

alter table Test drop COLUMN BazaarType
Nach dem Login kopieren

2. Spalten mit Standardwerten löschen:

Zuerst Einschränkungen (Standardwerte) löschen

alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F
Nach dem Login kopieren

(alter table Test DROP COLUMN BazaarType Die Fehlermeldung ist DF__SheetTest__Attac__0F8D3381)

Dann Nach dem Löschen der Spalte

alter table Test DROP COLUMN BazaarType
Nach dem Login kopieren

3. Ändern Sie den Feldnamen

ALTER TABLE 表名 ADD 字段名 INT  DEFAULT (0) NOT NULL;
Nach dem Login kopieren


Ändern Sie den Primärschlüsselfeldtyp

 alter table [tablename] alter column [colname] [newDataType])
Nach dem Login kopieren

Beim Ändern des Feldtyps einer Tabelle wird ein Fehler gemeldet, da Einschränkungen bestehen.

a. Wenn Sie das Feld in der Tabelle auf NOT NULL (nicht leer) setzen und dem Feld einen Standardwert (Standardwert) hinzufügen, werden dem Feld Einschränkungen hinzugefügt, und diese Einschränkungen werden hinzugefügt Anschließend treten ähnliche Fehler auf, wenn Sie SQL-Skripte verwenden, um Feldtypen zu ändern und Felder zu löschen.

b. Führen Sie die Änderung aus /delete-Skript erneut ausführen.

Lösung:

1. Suchen Sie den Einschränkungsnamen des Feldes in der Tabelle (oder basierend auf der vorhandenen Eingabeaufforderung und dem Objekt „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'
Nach dem Login kopieren

2. Löschen Sie die vorhandenen Einschränkungen

exec('alter table TableName drop constraint ' + @name)
Nach dem Login kopieren

Zum Beispiel:

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

3. Führen Sie dann das Skript aus, um den Feldtyp

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

Verwandte Lernempfehlungen:

SQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche SQL-Anweisungen gibt es zum Löschen von Feldern in einer Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage