Q&A

  • primary key부분 error
아래와 같이 table을 생성시키면서 primary key를 줄려고 하는데요

create부분만 선택해서 실행시키면 잘되는데

primary key를 넣어서 생성시키려고 하면

===Incorrect syntax near the keyword 'primary'.====

라는 error가 남니다...

해결방법을 알려주세요,,,



CREATE TABLE TableName

( SeqNum int IDENTITY(1,1) NOT NULL ,

MobileNum VARCHAR(12) NOT NULL,

CallBackNum VARCHAR(12) NOT NULL,

SMSMessage VARCHAR(80) NOT NULL,

SendResult int Default(0) NOT NULL,

ReserveTime VARCHAR(12) NULL,

SendTime Datetime NULL,

JobID VARCHAR(14) NULL,

SendReport VARCHAR(1) NULL,

LinkURL VARCHAR(50) NULL

constraint primary key(SeqNum)

)

2  COMMENTS
  • Profile
    류종택 2001.08.11 22:53
    Identity를 사용한 거 보면..

    Sybase 아니면 MS-SQL인가봐요..



    여하튼..

    LinkURL VARCHAR(50) NULL 여기에 콤마(',')가 빠진 거 같군요..

    Constraint Primary Key (SeqNum) -> Primary Key (SeqNum)로 하시고요..

    상관없을 거 같은데.. 오라클에서는 에러가 나는 군요..



    참고로 저는 Primary Key 등의 설정을 따로하는 것을 선호합니다..

    각각 이름을 정확하게 부여하고 삭제 및 변경할 때 편해서요..

    아래 SQL Script는 그냥 참고만 하세요..





    From 류..



    ---------



    // Title :

    // 설명 :

    // 작성자 : 류종택

    // 작성일 :



    # Create Table (STUsers)



    Create Table STUsers (



    -- 기본 인적사항

    UserID VarChar2(10) Not Null,

    UserPassword VarChar2(8) Not Null,

    LoginFail Number(2) Default 0,

    UserName VarChar2(10) Not Null,

    CEMail VarChar2(64) ,



    -- 소문자만 저장되어야 함

    Sex Char(1) Default 'M',

    LastDate Number(8) ,

    LastTime Number(6) ,

    RegDate Number(8) Default 0,

    RegTime Number(6) Default 0,

    TerDate Number(8) Default 0,

    Deleted Char(1) Default 'N',



    -- 추가 인적사항

    JobCode Char(2) Default 'ZZ',



    -- 사용자 옵션

    UserGrade Char(1) Default 'Z',

    Options VarChar2(16) ,

    Opened Char(1) Default 'Y',



    -- 주소 및 연락처

    ZipCode Number(6) Default 0,

    HomeAddr1 VarChar2(128) ,

    HomeAddr2 VarChar2(64) ,

    HomeTel VarChar2(14) ,

    MobilePhone VarChar2(14) ,



    -- 빌링 정보

    CyberMoney Number(10) Default 0



    )





    # Primaray Key (STUsers)

    Alter Table STUsers

    Add Constraint SPUsers

    Primary Key (UserID)





    # Secondary Index (STUsers)

    Create Index SIUsers01 on STUsers (UserName)







    ^뽀기^ wrote:

    > 아래와 같이 table을 생성시키면서 primary key를 줄려고 하는데요

    > create부분만 선택해서 실행시키면 잘되는데

    > primary key를 넣어서 생성시키려고 하면

    > ===Incorrect syntax near the keyword 'primary'.====

    > 라는 error가 남니다...

    > 해결방법을 알려주세요,,,

    >

    > CREATE TABLE TableName

    > ( SeqNum int IDENTITY(1,1) NOT NULL ,

    > MobileNum VARCHAR(12) NOT NULL,

    > CallBackNum VARCHAR(12) NOT NULL,

    > SMSMessage VARCHAR(80) NOT NULL,

    > SendResult int Default(0) NOT NULL,

    > ReserveTime VARCHAR(12) NULL,

    > SendTime Datetime NULL,

    > JobID VARCHAR(14) NULL,

    > SendReport VARCHAR(1) NULL,

    > LinkURL VARCHAR(50) NULL

    > constraint primary key(SeqNum)

    > )

  • Profile
    ^뽀기^ 2001.08.11 23:06
    콤마도 빠져 있었구요^^

    Constraint도 빼니까 error없이 잘 실행되었습니다...

    류종택님 답변 정말 고맙습니다.



    류종택 wrote:

    > Identity를 사용한 거 보면..

    > Sybase 아니면 MS-SQL인가봐요..

    >

    > 여하튼..

    > LinkURL VARCHAR(50) NULL 여기에 콤마(',')가 빠진 거 같군요..

    > Constraint Primary Key (SeqNum) -> Primary Key (SeqNum)로 하시고요..

    > 상관없을 거 같은데.. 오라클에서는 에러가 나는 군요..

    >

    > 참고로 저는 Primary Key 등의 설정을 따로하는 것을 선호합니다..

    > 각각 이름을 정확하게 부여하고 삭제 및 변경할 때 편해서요..

    > 아래 SQL Script는 그냥 참고만 하세요..

    >

    >

    > From 류..

    >

    > ---------

    >

    > // Title :

    > // 설명 :

    > // 작성자 : 류종택

    > // 작성일 :

    >

    > # Create Table (STUsers)

    >

    > Create Table STUsers (

    >

    > -- 기본 인적사항

    > UserID VarChar2(10) Not Null,

    > UserPassword VarChar2(8) Not Null,

    > LoginFail Number(2) Default 0,

    > UserName VarChar2(10) Not Null,

    > CEMail VarChar2(64) ,

    >

    > -- 소문자만 저장되어야 함

    > Sex Char(1) Default 'M',

    > LastDate Number(8) ,

    > LastTime Number(6) ,

    > RegDate Number(8) Default 0,

    > RegTime Number(6) Default 0,

    > TerDate Number(8) Default 0,

    > Deleted Char(1) Default 'N',

    >

    > -- 추가 인적사항

    > JobCode Char(2) Default 'ZZ',

    >

    > -- 사용자 옵션

    > UserGrade Char(1) Default 'Z',

    > Options VarChar2(16) ,

    > Opened Char(1) Default 'Y',

    >

    > -- 주소 및 연락처

    > ZipCode Number(6) Default 0,

    > HomeAddr1 VarChar2(128) ,

    > HomeAddr2 VarChar2(64) ,

    > HomeTel VarChar2(14) ,

    > MobilePhone VarChar2(14) ,

    >

    > -- 빌링 정보

    > CyberMoney Number(10) Default 0

    >

    > )

    >

    >

    > # Primaray Key (STUsers)

    > Alter Table STUsers

    > Add Constraint SPUsers

    > Primary Key (UserID)

    >

    >

    > # Secondary Index (STUsers)

    > Create Index SIUsers01 on STUsers (UserName)

    >

    >

    >

    > ^뽀기^ wrote:

    > > 아래와 같이 table을 생성시키면서 primary key를 줄려고 하는데요

    > > create부분만 선택해서 실행시키면 잘되는데

    > > primary key를 넣어서 생성시키려고 하면

    > > ===Incorrect syntax near the keyword 'primary'.====

    > > 라는 error가 남니다...

    > > 해결방법을 알려주세요,,,

    > >

    > > CREATE TABLE TableName

    > > ( SeqNum int IDENTITY(1,1) NOT NULL ,

    > > MobileNum VARCHAR(12) NOT NULL,

    > > CallBackNum VARCHAR(12) NOT NULL,

    > > SMSMessage VARCHAR(80) NOT NULL,

    > > SendResult int Default(0) NOT NULL,

    > > ReserveTime VARCHAR(12) NULL,

    > > SendTime Datetime NULL,

    > > JobID VARCHAR(14) NULL,

    > > SendReport VARCHAR(1) NULL,

    > > LinkURL VARCHAR(50) NULL

    > > constraint primary key(SeqNum)

    > > )