首页 > 解决方案 > Azure SQL - 创建带有约束的自动生成 ID,导致 powerapps 出现问题

问题描述

使用以下 SQL 时,我收到错误“'WITH' 附近的语法不正确”。

SQL statement with key and autogenerate id:
CREATE TABLE [dbo].[Stopwords](
 [Id] [int] IDENTITY(1,1) NOT NULL,
 [Stopword] [nvarchar](150) NULL,
 [Timestamp] [nvarchar](17) NULL,
 [Created by] [nvarchar](150) NULL,
 CONSTRAINT [PK_StopwordsId] PRIMARY KEY CLUSTERED 
(
 [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
GO

我需要一个自动生成的 ID,以便我可以使用 PowerApps 写入表。如果没有约束,PowerApps 将无法识别自动生成的 ID 并允许我使用该表。我认为一旦我得到了约束,我就能正确连接 PowerApps。我正在按照此视频https://youtu.be/193b7T_p35M?t=9m56s的说明进行操作,并在 10 分钟时讨论了自动生成密钥的重要性。

标签: sqlazureazure-sql-databasepowerapps

解决方案


使用 PowerApps,您只需要 SQL 表中的主键,因此您可以使用更简单的 create table 语句版本:

CREATE TABLE [dbo].[Stopwords] (
  [Id] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
  [Stopword] [nvarchar](150) NULL,
  [Timestamp] [nvarchar](17) NULL,
  [Created by] [nvarchar](150) NULL
)

PowerApps 可以访问此表。


推荐阅读