Heim >Datenbank >SQL >Welche SQL-Anweisungen gibt es zum Löschen von Tabellenfeldern?

Welche SQL-Anweisungen gibt es zum Löschen von Tabellenfeldern?

coldplay.xixi
coldplay.xixiOriginal
2020-06-22 15:35:196419Durchsuche

Empfohlenes Tutorial: „MySQL-Video-Tutorial

Was sind die SQL-Anweisungen zum Löschen von Tabellenfeldern?

Die SQL-Anweisungen zum Löschen von Tabellenfeldern sind:

1. Spalten ohne Standardwerte löschen:

alter table Test drop COLUMN BazaarType

2 Wertespalte:

Löschen Sie zuerst die Einschränkung (Standardwert)alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F

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

und löschen Sie dann die Spalte alter table Test DROP COLUMN BazaarType

3.

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

Ändern Sie den Feldtyp des Primärschlüssels

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

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

a. Vorgänge wie das Festlegen eines Felds in der Tabelle auf NOT NULL und das Hinzufügen eines Standardwerts zu einem Feld fügen dem Feld Einschränkungen hinzu. Verwenden Sie nach dem Hinzufügen dieser Einschränkungen SQL-Skripte, um den Feldtyp zu ändern und das Feld zu löschen.

b. Suchen Sie die vorhandenen Einschränkungen für das Feld und löschen Sie die vorhandenen Einschränkungen.

c Führen Sie das Änderungs-/Löschskript erneut aus.

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'

2. Löschen Sie die vorhandene Einschränkung

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

Zum Beispiel: exec('alter table T_tableName drop context Der Einschränkungsname der Fehlermeldung' )

3 . Erneut ausführen. Ändern Sie einfach das Skript des Feldtyps

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

Empfohlene verwandte Artikel: „Technischer Artikel zur SQL-Datenbank

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

Stellungnahme:
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