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]. ].
SQL-Anweisung zum Löschen von Feldern in der Tabelle
1. Spalten ohne Standardwerte löschen:
alter table Test drop COLUMN BazaarType
2. Spalten mit Standardwerten löschen:
Zuerst Einschränkungen (Standardwerte) löschen
alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F
(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
3. Ändern Sie den Feldnamen
ALTER TABLE 表名 ADD 字段名 INT DEFAULT (0) NOT NULL;
Ändern Sie den Primärschlüsselfeldtyp
alter table [tablename] alter column [colname] [newDataType])
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'
2. Löschen Sie die vorhandenen Einschränkungen
exec('alter table TableName drop constraint ' + @name)
Zum Beispiel:
exec('alter table T_tableName drop constraint 报错信息的约束名' )
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)
Verwandte Lernempfehlungen:
SQL-Video-TutorialDas 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!