sql >> Database >  >> RDS >> Sqlserver

Hoe kolom met beperking te laten vallen?

Eerst moet je de problematische DEFAULT constraint drop laten vallen , daarna kunt u de kolom neerzetten

alter table tbloffers drop constraint [ConstraintName]
go

alter table tbloffers drop column checkin

Maar de fout kan om andere redenen verschijnen - bijvoorbeeld de door de gebruiker gedefinieerde functie of weergave met SCHEMABINDING optie ingesteld voor hen.

UPD: Volledig geautomatiseerd script voor het verwijderen van beperkingen:

DECLARE @sql NVARCHAR(MAX)
WHILE 1=1
BEGIN
    SELECT TOP 1 @sql = N'alter table tbloffers drop constraint ['+dc.NAME+N']'
    from sys.default_constraints dc
    JOIN sys.columns c
        ON c.default_object_id = dc.object_id
    WHERE 
        dc.parent_object_id = OBJECT_ID('tbloffers')
    AND c.name = N'checkin'
    IF @@ROWCOUNT = 0 BREAK
    EXEC (@sql)
END


  1. Hoe toegang te krijgen tot PhpMyAdmin zonder cPanel login

  2. wat is het probleem met AttachDbFilename

  3. MySQL versus MySQLi bij gebruik van PHP

  4. Hoe te bestellen op datum in MySQL