在插入时在SQL中自动生成uniqueidentifier的问题

天生

我试图将数据从一个表插入到另一个表。Table1没有唯一标识符,但Table2有。我尝试插入using NEWID(),但是出现语法错误。有人可以告诉我我在做什么错吗?

INSERT INTO Table2 (NEWID(), [Item Description], [Item Cost])
SELECT Description, Cost FROM  Table1
WHERE Id = '1'
拉杜·格奥尔基(Radu Gheorghiu)

如果尚未创建Table2,则可以使用以下查询:

SELECT
     NEWID() AS [ID]
    ,Description AS [Item Description]
    ,Cost AS [Item Cost]
INTO Table2
FROM Table1
WHERE Id = '1'

但是,如果已经创建了表2的模式,并且该表具有用于标识符的列,则可以使用:

INSERT INTO Table2 ([ID], [Item Description], [Item Cost])
SELECT
   NEWID()
   , Description
   , Cost
FROM Table1
WHERE Id = '1'

但是,如果您尚未为Table2创建架构,那么我建议使用以下代码为表格创建架构并使用中的数据填充其中的数据Table1

CREATE TABLE Table2 (
    [ID] INT Identity
    ,[Item Description] AS NVARCHAR(MAX)
    ,[Item Cost] AS NUMERIC(18, 2))

INSERT INTO Table2([Item Description] , [Item Cost])
SELECT
    Description
    , Cost
FROM Table1
WHERE Id = '1'

将ID列设置为Identity会为您不必担心填充的每一行自动生成一个UNIQUE标识符号。该数字是递增的,默认情况下,每行从1开始递增1。

您还可以通过将[ID]列定义为来定义起始编号和增量值[ID] INTEGER IDENTITY(1000, 2),这将使起始值1000,增量将为2(但这仅是FYI)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Sql Server中的插入查询上自动生成UniqueIdentifier?

来自分类Dev

在表中插入值时,UNIQUEIDENTIFIER是自动生成的数字吗?

来自分类Dev

jdbi返回插入时自动生成的值

来自分类Dev

在插入时自动在MongoDB中填充日期

来自分类Dev

SQL 插入时间戳问题

来自分类Dev

从文件导入时sql自动生成的id

来自分类Dev

如何在 SQL-Server 的表中管理自动插入时间戳值?

来自分类Dev

在SQL中插入时更新子索引

来自分类Dev

在 SQL 中插入时出现奇怪的错误

来自分类Dev

插入时违反 PK 的问题

来自分类Dev

在sql2o中插入时出错

来自分类Dev

如何在SQL表中插入时间?

来自分类Dev

是否可以在sql中插入时间戳?

来自分类Dev

在sql2o中插入时出错

来自分类Dev

如何使用vb在具有uniqueidentifier列的sql表中插入值?

来自分类Dev

插入时的SQL Server事件

来自分类Dev

插入时的SQL Server事件

来自分类Dev

关于插入时mysql自动递增的行为

来自分类Dev

关于插入时mysql自动递增的行为

来自分类Dev

在SQL Server 2014中自动插入的行

来自分类Dev

更新或插入,在SQL中自动递增int

来自分类Dev

行插入时自动在单元格中填充公式

来自分类Dev

插入时的python sqlite问号问题

来自分类Dev

MySQL在插入时触发问题

来自分类Dev

使用插入时的主键生成器

来自分类Dev

插入时分层生成的树代码

来自分类Dev

SQL Server数据库在插入时生成一个已经存在的密钥,为什么?

来自分类Dev

我在gridview中遇到SQL插入问题

来自分类Dev

我在gridview中遇到SQL插入问题