在固定长度的列sql server中插入数据

时间:2014-02-23 11:54:06

标签: sql sql-server

我正在尝试在固定长度列中插入数据但我收到错误。

表格如下:

CREATE TABLE [dbo].[zam_pcinfo](
    [Id] [decimal] identity NOT NULL,
    [employe_name] [nvarchar](50) NOT NULL,
    [location_id] [decimal]  NOT NULL,
    [department_id] [decimal]  NOT NULL,
    [computer_name] [nvarchar](25)  NOT NULL,
    [user_name] [nvarchar](25)  NOT NULL,
    [teamviewer_id] [nvarchar](25) NULL check (DATALENGTH(teamviewer_id) = 9),
    [lan_ip]  [nvarchar](20)  NULL,
    [policy] [nvarchar](25)  NOT NULL,
    [os] [nvarchar](25)  NOT NULL,
    [pctype] [nvarchar](25)  NOT NULL,
    [note] [nvarchar](50)   NULL,
    [password] [nvarchar](25)  NOT NULL,
    [tmngr] [bit]  NOT NULL,
    [type_user] [nvarchar] (25) Not null,
    [w-internal-mac-address] [nvarchar](50) null)

我在DATALENGTH列使用teamviewer_id函数,当我尝试将数据插入此列时,它会显示以下错误:

  

插入语句与检查约束冲突“ nameoftheconstraint ”数据库“nameofdatabase”中发生冲突,表“nameoftable”列teamviewer_id

你可以帮助我吗?在这种情况下检查约束是否正确?

1 个答案:

答案 0 :(得分:1)

我使用Len代替它的工作,谢谢