首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure SQL数据仓库中将任何列设置为主键

如何在Azure SQL数据仓库中将任何列设置为主键
EN

Stack Overflow用户
提问于 2018-04-20 11:55:53
回答 4查看 21.3K关注 0票数 9

我试图将DB中的一个列设置为主键,但我总是得到以下错误:

Azure SQL数据仓库不支持强制的唯一约束。若要创建非强制执行的唯一约束,必须将未强制执行的语法作为语句的一部分。

在进行研发时,我发现Azure SQL数据仓库中没有主键和外键的概念,那么如何在其中实现这一点呢?

有什么想法吗?

EN

回答 4

Stack Overflow用户

发布于 2018-04-22 08:45:33

Stack Overflow用户

发布于 2020-10-31 15:24:57

我刚刚在Synapse上注册了StackOverflow RSS。第一条信息是这个帖子。我以为这是最近的一次,但请注意,这是两年前的事了,卢里法塞尔4天前刚发了一个回复。我会在这里学习如何工作..。最终。:)

对于主题来说,数据库约束(如主键和外键)是防止糟糕的客户端代码破坏数据一致性的资源。这在OLTP数据库中非常流行(而且几乎是强制性的)。

在OLAP系统中,您以批或流的方式加载数据,您通常不希望这样做,因为它会减慢摄入过程。您通常依赖于舞台表和CTAS技术来呈现表的一致版本。

OLTP事务不应该像Synapse那样在OLAP / BI系统中考虑。这使得主键和外键约束变得无关紧要和不必要。

如果您真的需要在表中创建主键约束,Synapse池可以这样做,但它不会验证表中已经存在的数据。将只检查新的数据(插入/更新)是否重复。

票数 4
EN

Stack Overflow用户

发布于 2019-10-27 01:44:30

<引号>

Azure SQL数据仓库支持以下表约束:

  • 只有在同时使用非强制和非强制时才支持主键。
  • 唯一的约束只支持不强制使用。

来源:https://learn.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-table-constraints

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49941101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档