2016-12-13 2 views
-1

에 SQL ALTER 문을 변환, 내가 SQL은 SQL로 쿼리를 변경할 다음 변환 할 필요가 MySQL을

SQL :

MySQL은 :

Alter table Registry 
Add SndrIdQual Char(2) NULL CONSTRAINT 
[DF_Registry_PartIdQual] DEFAULT ('') 

내가 다음 하나를 시도

Alter table Registry 
Add SndrIdQual Char(2) NULL DEFAULT '' 
CONSTRAINT `DF_Registry_PartIdQual`; 

하지만 나에게 다음과 같은 오류 제공 :

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CONSTRAINT `DF_Registry_PartIdQual`' 

이 또한 내가 다른 케이스를 시도했지만 내가 어떤 해결책을 찾지 못했습니다을, 저를 도와주세요.

내가있어 DDL 쿼리

CREATE TABLE [dbo].[Registry](
[UniqCode] [uniqueidentifier] ROWGUIDCOL NOT NULL, 
[AddedAt] [timestamp] NOT NULL, 
[SndrIdQual] [char](2) NULL, 
PRIMARY KEY NONCLUSTERED 
(
[UniqCode] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], 
UNIQUE CLUSTERED 
(
[ClmRegNum] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 
ALTER TABLE [dbo].[Registry] ADD CONSTRAINT [DF_Registry_UniqCode] DEFAULT (newid()) FOR [UniqCode] 
GO 
ALTER TABLE [dbo].[Registry] ADD CONSTRAINT [DF_Registry_PartIdQual] DEFAULT ('') FOR [SndrIdQual] 

+0

귀하의 DDL은 SQL 서버는 MySQL의 DDL을 게시 할 수 있습니까? –

+0

( 'AddedAt'의 날짜 NULL NOT, NOT NULL AUTO_INCREMENT), PRIMARY KEY ('UniqCode'), UNIQUE KEY'UQ__XRHCII_E__810DC23C29A76A3F' ('ClmRegNum') 을 'UniqCode'의 BIGINT (20) TABLE'registry'을 만들 ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci; – Sagar

+0

이제 위의 조건을 따라야하는 "SndrIdQual"필드를 하나 더 추가해야합니다. – Sagar

답변

0

당신은 그냥이 필요로 할 수 있음 GO 다음 생성 :

ALTER TABLE database.table 
     ADD COLUMN SndrIdQual Char(2) NULL DEFAULT '' 
+0

내 쿼리에 외래 키가 작동하지 않아 fk로 쿼리를 작성할 수 있지만이 경우에는 "CONSTRAINT" 내가 모르는 키워드. – Sagar

+0

테이블에 PartIdQual이 있거나 partidqual에 대해 fk를 생성해야합니다. @ Sagar – Chanukya

+0

제 질문에 완전한 DDL 문을 추가했는데 fk를 찾지 못했습니다. – Sagar