2014-12-04 4 views
2

나는 테이블, playersplayerRegSeason을 연결했습니다. 그들은 players에 대한 기본 키인 playerID으로 연결되며 이상한 숫자가 아닌 형식입니다. 나는 모든 새로운 엔트리가 유일한 자동 증가 playerID을 가지고 있도록 그것을 만들고 싶다. 내가 자동으로 증가하는 열을 변경하면 현재의 모든 playerID이 변경됩니다. 나는 괜찮을 것이지만, playerRegSeason에 대한 relationsihp는 잃게됩니다. playerID 열을 변경하여 playerRegSeason에 자동으로 업데이트되는 방법이 있습니까?두 테이블의 열을 동시에 변경

+1

사용하는 SQL의 어떤 버전

UPDATE playerRegSeason s INNER JOIN players p ON s.playerID = p.playerID SET s.NewPlayerID = p.NewPlayerID 

를 요청한? – Dijkgraaf

+0

intID라는 새 열을 만들어 보지 않겠습니까? 그런 다음 자동 증분기를 사용하여 ID를 만듭니다. 현재 playerID는 ABC1234입니다. 이미 존재하는 모든 기존 ID를 유지할 수 있습니다. 코드에서 기본적으로 새 사용자의 playerID는 ABC + 자동 증가 값이라고 말할 수 있습니다. 그게 감각을 – logixologist

답변

1

일반적으로 단계별로 수행하는 것이 좋습니다.

  1. 자동 증분을 사용하여 players 테이블에 새 열을 만들고 채 웁니다.
  2. playerRegSeason에 열이 NULL 할 수 있도록 추가 처음
  3. playerRegSeason의 새로운 열이 새 playerID 열을 가리 키도록
  4. 업데이트.
  5. 는 널 (null)
  6. playerRegSeason
  7. 드롭 이전 외국 제약
  8. 드롭 두 테이블에서 & 외국 필드 기존의 ID에 새로운 외국 제약 조건을 추가 허용하지 playerRegSeason에 열을 변경합니다.

편집 : 3 단계의 정교화 정확한 구문은 SQL의 버전에 따라 다를 수 있습니다 그러나

+0

죄송합니다,하지만 당신은 3 단계에서 정교하게 만들 수 있습니까? – user2884621

+0

문제는 없지만 답변에 추가했습니다. – Dijkgraaf

관련 문제