Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
377 views
in Technique[技术] by (71.8m points)

How do I create a unique clustered index in Azure Synapse Analytics?

I'm trying to create a table with a unique clustered index on Azure Synapse Analytics

I've tried

CREATE TABLE [myschema].[test] (
    ID1 int UNIQUE NOT ENFORCED,
    ID2 int UNIQUE NOT ENFORCED,
    message varchar(MAX)
) 
WITH (
    CLUSTERED INDEX (ID1, ID2)
)

and

CREATE TABLE [myschema].[test] (
    ID1 int,
    ID2 int,
    message varchar(MAX),
    CONSTRAINT test_unique UNIQUE(ID1,ID2) NOT ENFORCED
) 
WITH (
    CLUSTERED INDEX (ID1, ID2)
)

I know they're equivalent and both the times I'm getting this error

Error: Cannot use duplicate column names in statistics. Column name 'ID1' listed more than once.

question from:https://stackoverflow.com/questions/66062209/how-do-i-create-a-unique-clustered-index-in-azure-synapse-analytics

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

we are aware of this issue and working on a resolution . You do have a workaround for this , please try this and it should help.

CREATE TABLE [test1] (
    ID1 int UNIQUE NOT ENFORCED,
    ID2 int UNIQUE NOT ENFORCED,     
    message varchar(MAX)
) 
WITH (
    HEAP
)
GO
CREATE CLUSTERED INDEX isTest ON [Test1](ID1,ID2)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...