sql >> Database teknologi >  >> RDS >> Sqlserver

Slipning af unavngivne begrænsninger

For at slette en individuel unavngiven standardbegrænsning på en kolonne skal du bruge følgende kode:

DECLARE @ConstraintName VARCHAR(256)
SET @ConstraintName = (
     SELECT             obj.name
     FROM               sys.columns col 

     LEFT OUTER JOIN    sys.objects obj 
     ON                 obj.object_id = col.default_object_id 
     AND                obj.type = 'F' 

     WHERE              col.object_id = OBJECT_ID('TableName') 
     AND                obj.name IS NOT NULL
     AND                col.name = 'ColunmName'
)   

IF(@ConstraintName IS NOT NULL)
BEGIN
    EXEC ('ALTER TABLE [TableName] DROP CONSTRAINT ['[email protected]+']')
END

Hvis du vil gøre dette for en standardkolonne, hvilket sandsynligvis er mere almindeligt end det oprindelige spørgsmål, og jeg er sikker på, at mange mennesker vil lande på dette fra en Google-søgning, så skal du bare ændre linjen:

obj.type = 'F'

til

obj.type = 'D'


  1. bliver ved med at få en syntaksfejl (php / mysql)

  2. Hent data fra krydstabel i Yii2

  3. symfony 1.4 propel:build-all virker ikke på Mysql 5.5

  4. MySQL matematiske funktioner (fuld liste)