char数据类型中的破折号( - )?

时间:2013-06-18 21:24:44

标签: sql sql-server

所以我试图将数据插入到我的数据库中的表中,该表具有数据类型为char的PK列。该列中当前的记录格式为27-5。但是,我似乎无法想到用insert语句复制它的方法。

我当前的插入语句显然只是手动执行连接:

Insert into kc.ep_act_steps Values (1,1-3,'Some Example Text',NULL,3,1)

该列碰巧是以相反顺序创建最后两列。我怎样才能做到这一点?

编辑:更新了表格定义(删除了一些不必要的密钥)

USE [ICKC_2]
GO

/****** Object:  Table [kc].[ep_act_steps]    Script Date: 06/18/2013 17:27:35 ******/
SET ANSI_NULLS ON


SET QUOTED_IDENTIFIER ON


SET ANSI_PADDING ON


CREATE TABLE [kc].[ep_act_steps](
[act_type] [char](16) NOT NULL,
[act_id] [char](16) NOT NULL,
[description] [varchar](2000) NULL,
[ep_procedure] [int] NULL,
[display_order] [smallint] NULL,
[org_id] [int] NULL,
CONSTRAINT [PK__ep_act_steps__22751F6C] PRIMARY KEY CLUSTERED 
(
[act_type] ASC,
[act_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

编辑:尽管使用sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'关闭了所有PK约束,但不能用撇号括起来。使用撇号会导致以下错误:`违反PRIMARY KEY约束'PK__ep_act_steps__22751F6C'。无法在对象'kc.ep_act_steps'中插入重复键。'

1 个答案:

答案 0 :(得分:2)

Insert into kc.ep_act_steps Values ('1','1-3','Some Example Text',NULL,3,1)