"xxxx" 표 - 표를 수정 할 수 없습니다.값 NULL 을 열 'xxxx' 에 삽입 할 수 없습니다.

문제.
기 존 테이블 에 필드 추가
다음 sql 을 실행 하고 sql 실행 에 두 필드 를 추가 합 니 다.
  • article 제목 [nvarchar] (200)
  • articleSubTitle 부제 [nvarchar] (200)
  • USE [tg_thirdparty]
    GO
    
    /****** Object:  Table [dbo].[WX_Activity]    Script Date: 10/31/2018 10:54:46 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    SET ANSI_PADDING ON
    GO
    
    
    IF NOT EXISTS ( SELECT  1
                    FROM    SYSOBJECTS T1
                            INNER JOIN SYSCOLUMNS T2 ON T1.ID = T2.ID
                    WHERE   T1.NAME = 'WX_Activity'
                            AND T2.NAME = 'articleTitle' ) 
        BEGIN
        
            ALTER TABLE [dbo].[WX_Activity] ADD [articleTitle] [nvarchar](200) NOT   NULL 
            --ALTER TABLE [dbo].[WX_Activity] ADD  CONSTRAINT [DF_WX_Activity_articleTitle]  DEFAULT ('') FOR [articleTitle]
            --ALTER TABLE [dbo].[WX_Activity] ALTER COLUMN [articleTitle] [nvarchar](200) NOT NULL
    
         
    
            EXEC sys.sp_addextendedproperty @name = N'MS_Description',
                @value = N'   ', @level0type = N'SCHEMA', @level0name = N'dbo',
                @level1type = N'TABLE', @level1name = N'WX_Activity',
                @level2type = N'COLUMN', @level2name = N'articleTitle'
    
    
        END
        
    GO
        
    IF NOT EXISTS ( SELECT  1
                    FROM    SYSOBJECTS T1
                            INNER JOIN SYSCOLUMNS T2 ON T1.ID = T2.ID
                    WHERE   T1.NAME = 'WX_Activity'
                            AND T2.NAME = 'articleSubTitle' ) 
        BEGIN
        
            ALTER TABLE [dbo].[WX_Activity] ADD [articleSubTitle] [nvarchar](200) NOT  NULL 
            --ALTER TABLE [dbo].[WX_Activity] ADD  CONSTRAINT [DF_WX_Activity_articleSubTitle]  DEFAULT ('') FOR [articleSubTitle]
            --ALTER TABLE [dbo].[WX_Activity] ALTER COLUMN [articleSubTitle] [nvarchar](200) NOT NULL
         
    
            EXEC sys.sp_addextendedproperty @name = N'MS_Description',
                @value = N'   ', @level0type = N'SCHEMA', @level0name = N'dbo',
                @level1type = N'TABLE', @level1name = N'WX_Activity',
                @level2type = N'COLUMN', @level2name = N'articleSubTitle'
    
    
        END
        
    GO
        

     
    알림 오류
       490116110  
    ALTER TABLE              :       NullDEFAULT   ;                ;  ,           ,             。    "articleTitle"      "WX_Activity" ,          。
       49011619  
    ALTER TABLE              :       NullDEFAULT   ;                ;  ,           ,             。    "articleSubTitle"      "WX_Activity" ,          。

     
     
    해결 방법:
    표 에 이미 데이터 가 있 습 니 다. 기본 값 을 설정 하지 않 습 니 다. 요구 필드 가 있 으 면 NULL 이 될 수 없습니다. 모순 입 니 다!
    그래서 기본 값 을 지정 하고 필드 를 삽입 할 때 기본 값 을 추가 합 니 다. DEFAULT ''
    USE [tg_thirdparty]
    GO
    
    /****** Object:  Table [dbo].[WX_Activity]    Script Date: 10/31/2018 10:54:46 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    SET ANSI_PADDING ON
    GO
    
    
    IF NOT EXISTS ( SELECT  1
                    FROM    SYSOBJECTS T1
                            INNER JOIN SYSCOLUMNS T2 ON T1.ID = T2.ID
                    WHERE   T1.NAME = 'WX_Activity'
                            AND T2.NAME = 'articleTitle' ) 
        BEGIN
        
            ALTER TABLE [dbo].[WX_Activity] ADD [articleTitle] [nvarchar](200) NOT   NULL DEFAULT ''
            --ALTER TABLE [dbo].[WX_Activity] ADD  CONSTRAINT [DF_WX_Activity_articleTitle]  DEFAULT ('') FOR [articleTitle]
            --ALTER TABLE [dbo].[WX_Activity] ALTER COLUMN [articleTitle] [nvarchar](200) NOT NULL
    
         
    
            EXEC sys.sp_addextendedproperty @name = N'MS_Description',
                @value = N'   ', @level0type = N'SCHEMA', @level0name = N'dbo',
                @level1type = N'TABLE', @level1name = N'WX_Activity',
                @level2type = N'COLUMN', @level2name = N'articleTitle'
    
    
        END
        
    GO
        
    IF NOT EXISTS ( SELECT  1
                    FROM    SYSOBJECTS T1
                            INNER JOIN SYSCOLUMNS T2 ON T1.ID = T2.ID
                    WHERE   T1.NAME = 'WX_Activity'
                            AND T2.NAME = 'articleSubTitle' ) 
        BEGIN
        
            ALTER TABLE [dbo].[WX_Activity] ADD [articleSubTitle] [nvarchar](200) NOT  NULL DEFAULT ''
            --ALTER TABLE [dbo].[WX_Activity] ADD  CONSTRAINT [DF_WX_Activity_articleSubTitle]  DEFAULT ('') FOR [articleSubTitle]
            --ALTER TABLE [dbo].[WX_Activity] ALTER COLUMN [articleSubTitle] [nvarchar](200) NOT NULL
         
    
            EXEC sys.sp_addextendedproperty @name = N'MS_Description',
                @value = N'   ', @level0type = N'SCHEMA', @level0name = N'dbo',
                @level1type = N'TABLE', @level1name = N'WX_Activity',
                @level2type = N'COLUMN', @level2name = N'articleSubTitle'
    
    
        END
        
    GO
        

     
    다음으로 전송:https://www.cnblogs.com/Zev_Fung/p/9882077.html

    좋은 웹페이지 즐겨찾기