在数据库中创建一个表

问题描述:

我正在尝试在我的asp应用程序中创建一个新表,并且为了我的爱无法计算出如何使用主键语法。我正在努力解决如何创建它。 可能有人告诉我什么是错与查询:在数据库中创建一个表

CREATE EXTERNAL TABLE [dbo].[AspNetUserTestScores] 
( 
    [UserName]   NVARCHAR (256) NOT NULL, 
    [MomentsAndEnergyTestScore] NVARCHAR (256) NULL, 
    [MotionInACircleTestScore] NVARCHAR (256) NULL, 
    [UniversalGravtationTestScore] NVARCHAR (256) NULL, 
    [CapacitanceTestScore] NVARCHAR (256) NULL, 
    [ElectricFieldsTestScore] NVARCHAR (256) NULL, 
    [MagneticFieldsTestScore] NVARCHAR (256) NULL, 
    [ElectronsAndNucleiTestScore] NVARCHAR (256) NULL, 
    [ParticlePhysicsTestScore] NVARCHAR (256) NULL, 
    [NuclearDecayTestScore] NVARCHAR (256) NULL, 
    [GasLawsAndKineticTheoryTestScore] NVARCHAR (256) NULL, 
    [InternalEnergyAbsoluteZeroAndChangeOfStateTestScore] NVARCHAR (256) NULL, 
    [SpecificHeatCapacityTestScore] NVARCHAR (256) NULL, 
    [AstrophysicsTestScore] NVARCHAR (256) NULL, 
    [CosmologyTestScore] NVARCHAR (256) NULL, 
    [OscillationsTestScore] NVARCHAR (256) NULL, 
    PRIMARY KEY [UserName], 
) 


WITH 
( 
    LOCATION = '/folder/file', 
    DATA_SOURCE = [DataSource1], 
    FILE_FORMAT = [FileFormat1] 
) 

感谢

+1

我无法弄清楚你的问题究竟是什么。 –

+0

该查询不工作,我不知道为什么,错误是围绕主键,身份证也喜欢知道什么'WITH ( LOCATION ='/文件夹/文件', DATA_SOURCE = [数据源1], FILE_FORMAT = [FileFormat1] )' –

这是一个有点投机,因为documentation似乎并不完整。特别是,它没有定义column_definition的语法,因为它适用于CREATE EXTERNAL TABLE

从语法图中明显缺少的是关于约束的任何事情。 CREATE TABLEsyntax的比较可能具有启发性 - 没有计算列,没有显式约束,没有列集,外部版本没有分区。

该文档是明确的,DEFAULT是不允许的。我怀疑没有限制,这就是为什么你会得到一个语法错误。如果在显式约束不是语法的一部分时允许内联约束,我会感到惊讶。

但是,column_definition似乎允许内联PRIMARY KEY约束,这就是为什么我认为文档不完整。

我猜问题是你没有命名主键。您已经指出了主键基于哪个字段(UserName),但您尚未命名实际的主键。所以,我不知道语法的,但我认为你需要将行更改为类似这样:

pk_UserName PRIMARY KEY [用户名]

你可能也不需要在逗号队伍的尽头。