데이터베이스 전체 고유 ID를 작성하려고합니다. 이 고유 ID는 해당 데이터베이스의 모든 테이블에있는 모든 행의 한 필드 여야합니다.여러 테이블에서 고유 ID 유지
처럼 자동 증가 필드와 다른 모든 테이블에 트리거와 하나의 마스터 테이블을 만듭니다 :
"여기에 삽입하기 전에
내가 생각 한 몇 가지 방법이 있습니다 , master-table에 삽입 -> 자동 증가 값 얻기 -> 여기에 기본 키로이 값을 사용하십시오. "
이전에 본 적이 있지만 하나의 INSERT를 만드는 대신 2 개의 INSERT를 수행합니다. 기대하지 않는 그 performant.
모든 테이블에
uniqueId
필드를 추가하고이 필드를 PHP 생성 정수 ... unix-timestamp와 임의의 숫자로 더한 값으로 채 웁니다.그러나 큰
index_length
및 큰data_length
을 의미하는 데이터 형식으로BIGINT
을 사용해야했습니다.은 "UNIQUEID"아이디어와 비슷하지만
BIGINT
의 instad 나는VARCHAR
을 사용하고이 값을 채울uniqid()
를 사용합니다.
데이터베이스 전체 고유 ID의 목적은 무엇입니까? 모든 테이블에 기본 키가 있으면 모든 행에 이미 tablename.pkey로 구성된 고유 ID가 있습니다. – dnagirl
이것은 무서운, 끔찍한 생각이며 고통과 불행만을 가져올 수 있습니다. –
필자는 페이지에있는 모든 요소를 주석으로 작성하거나 모든 요소에 등급을 부여하는 것과 같이 여러 번 생각했습니다. 나는 항상 이것이 쉬운 일이 될 것이라고 생각했다. @Ignacio : 그렇게 생각하면 기본 키로 사용하는 것에 대해 이야기하지 않습니다. 왜 여러 테이블을 통해 고유 한 식별자가 그렇게 나쁘다고 생각합니까? –