SQL插入相关表
发布时间:2020-12-12 07:01:10 所属栏目:MsSql教程 来源:网络整理
导读:在我看来,这是一个随着SQL /数据库开发一直出现的问题,但后来我对这一切都不熟悉,所以请原谅我的无知. 我有2张桌子: CREATE TABLE [dbo].[Tracks]( [TrackStringId] [bigint] NOT NULL,[Id] [bigint] IDENTITY(1,1) NOT NULL,[Time] [datetime] NOT NULL,CON
在我看来,这是一个随着SQL /数据库开发一直出现的问题,但后来我对这一切都不熟悉,所以请原谅我的无知.
我有2张桌子: CREATE TABLE [dbo].[Tracks]( [TrackStringId] [bigint] NOT NULL,[Id] [bigint] IDENTITY(1,1) NOT NULL,[Time] [datetime] NOT NULL,CONSTRAINT [PK_Tracks] PRIMARY KEY CLUSTERED ( [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 ALTER TABLE [dbo].[Tracks] CHECK CONSTRAINT [FK_Tracks_AudioStreams] GO ALTER TABLE [dbo].[Tracks] WITH CHECK ADD CONSTRAINT [FK_Tracks_TrackStrings] FOREIGN KEY([TrackStringId]) REFERENCES [dbo].[TrackStrings] ([Id]) GO ALTER TABLE [dbo].[Tracks] CHECK CONSTRAINT [FK_Tracks_TrackStrings] GO 和 CREATE TABLE [dbo].[TrackStrings]( [Id] [bigint] IDENTITY(1,[String] [nvarchar](512) NOT NULL,CONSTRAINT [PK_Strings] PRIMARY KEY CLUSTERED ( [Id] ASC ) WITH (PAD_INDEX = OFF,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] 我想在track表中插入一个新条目.这还将涉及在tracktrings表中插入新条目,并确保轨道中的外键列tracktringid指向tracktrings中的新条目.实现这一目标的最有效方法是什么? 解决方法首先,插入TrackStrings,省略列列表中的主键列.这将调用其IDENTITY列,该列自动生成值.INSERT INTO [dbo].[TrackStrings] ([String]) VALUES ('some string'); 其次,插入Tracks并将其命名为TrackStringId函数 INSERT INTO [dbo].[Tracks] ([TrackStringId],[Time]) VALUES (SCOPE_IDENTITY(),CURRENT_TIMESTAMP()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |