shw*_*ish 5 azure-sqldw azure-sql-database
我试图将数据库中的一列设置为主键,但我总是收到此错误:
Azure SQL 数据仓库不支持强制唯一约束。要创建非强制唯一约束,您必须在语句中包含 NOT ENFORCED 语法。
在做研发的时候,我发现Azure SQL数据仓库中没有主键和外键的概念,那么如何在里面实现呢?
有任何想法吗?
我刚刚在 Synapse 上注册了 StackOverflow RSS 源。第一个提要是这篇文章。我以为这是最近的一个,但注意到它是 2 年前的,@Lurifaxel 刚刚在 4 天前发布了一个答案。我最终会学会如何在这里工作。:)
就主题而言,主键和外键等数据库约束是防止不良客户端代码破坏数据一致性的资源。这在 OLTP 数据库上非常流行(并且几乎是强制性的)。
在 OLAP 系统中,您可以批量或流式加载数据,您通常不希望这样做,因为它会减慢摄取过程。您通常依赖阶段表和 CTAS 技术来呈现表的一致版本。
在像 Synapse 这样的 OLAP/BI 系统中不应考虑OLTP 事务。这使得主键和外键约束变得无关紧要且没有必要。
如果您确实需要在表中创建主键约束,Synapse 池可以做到这一点,但它不会验证表中已有的数据。仅检查新数据(插入/更新)是否重复。
小智 5
Azure SQL 数据仓库不支持主键。
https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-overview
| 归档时间: |
|
| 查看次数: |
13136 次 |
| 最近记录: |