Q&A

  • Key Violation
필드명 형 //파라독스

vdate date PrimaryKey

vseqc char "

..

..



Post시, 프라이머리키로 지정된 필드에 중복된 자료의

저장시 KeyViolation이 일어나는것으로 알고있습니다.

vseqc는 중복을 허용하지 않고, KeyViolation을 일으키는데

vdate는 PK임에도 불구하고, 중복된 날짤 입력해도 KeyViolation이

일어나지 않습니다. date형의 필드는 프라이머리키라도, 중복을

허용하는가요?

3  COMMENTS
  • Profile
    이재식 2000.05.23 23:01
    Mr.Q wrote:

    > 필드명 형 //파라독스

    > vdate date PrimaryKey

    > vseqc char "

    > ..

    > ..

    >

    > Post시, 프라이머리키로 지정된 필드에 중복된 자료의

    > 저장시 KeyViolation이 일어나는것으로 알고있습니다.

    > vseqc는 중복을 허용하지 않고, KeyViolation을 일으키는데

    > vdate는 PK임에도 불구하고, 중복된 날짤 입력해도 KeyViolation이

    > 일어나지 않습니다. date형의 필드는 프라이머리키라도, 중복을

    > 허용하는가요?





    이재식 Wrote :

    안녕하세요?



    그렇지 않습니다.

    date형이라해도 프라이머리키로했다면 key viol..에러가 납니다.

    현재, vdate, vseqc두개의 필드가 주키로 잡혀있으므로,

    이 두개를 동시에 놓고 볼때 동일한 값만 아니면 데이터가 삽입이 됩니다.



    전에 어떤 데이터가 테이블에 있었고,

    새로운 어떤 데이터가 들어가는 상황인지 설명이 있으면

    상황을 좀 더 정확히 이해할 수 있으리라 생각됩니다.









  • Profile
    Mr.Q 2000.05.23 23:59
    > 이재식 Wrote :

    > 안녕하세요?

    >

    > 그렇지 않습니다.

    > date형이라해도 프라이머리키로했다면 key viol..에러가 납니다.

    > 현재, vdate, vseqc두개의 필드가 주키로 잡혀있으므로,

    > 이 두개를 동시에 놓고 볼때 동일한 값만 아니면 데이터가 삽입이 됩니다.

    >

    > 전에 어떤 데이터가 테이블에 있었고,

    > 새로운 어떤 데이터가 들어가는 상황인지 설명이 있으면

    > 상황을 좀 더 정확히 이해할 수 있으리라 생각됩니다.

    >



    DB데스크탑 캡쳐화면입니다. 기가 막히게 저장 되어있어요.

    상황? 단순히, DBEdit에 date필드를 연결해놓은 상태구요.

    Table.append로 빈화면 상태에서. DBEdit에 1998-08-06일 입력후 Post했습니다.

    소스까지 보내드릴까요?



    http://www.delphi.co.kr/cgi-bin/cwb/CrazyWWWBoard.cgi?mode=read&num=1603&db=freetalk&backdepth=1

  • Profile
    이재식 2000.05.24 03:17
    이재식 Wrote :

    안녕하세요?



    보내주신 데이터 입력값을 보고 제가 해보았는데,

    아무 문제가 없이 그 값대로 잘 들어가던데요...



    쩝~~, 님의 소스를 제가 한번 실행해 보아야 알 것 같습니다.

    ^^