【问题标题】:Syntax error when inserting album track number into table as INT in SQL Server 2012在 SQL Server 2012 中将专辑曲目编号作为 INT 插入表时出现语法错误
【发布时间】:2014-02-16 23:04:58
【问题描述】:

我正在尝试在 SQL Server 2012 中创建此表。

USE BC0

CREATE TABLE Songs 
(
TrackID INT IDENTITY NOT NULL,
Name VARCHAR(50) NOT NULL,
Album VARCHAR(50) PRIMARY KEY
)

INSERT INTO Songs (TrackID, Name, Album)
('1', 'High Hopes', 'High Hopes')

但我收到了 Incorrect syntax near '1'. 错误。

我已经用' ' 尝试过,但我不确定我做错了什么。

【问题讨论】:

    标签: sql sql-server int sql-server-2012 syntax-error


    【解决方案1】:

    字段列表和值列表之间需要关键字VALUES

    INSERT INTO Songs (TrackID, Name, Album) VALUES (1, 'High Hopes', 'High Hopes')
    


    另外,如果一个字段是IDENTITY,那么你不要给它一个值。使用IDENTITY 是明确要求 SQL Server 为您解决这个问题。

    INSERT INTO Songs (Name, Album) VALUES ('High Hopes', 'High Hopes')
    


    最后,一个主键值在一个表中只能出现一次。由于您在 album 字段中有主键,因此您将永远无法在每张专辑中插入超过一首曲目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多