2016-09-08 5 views
0

이의 내가 이렇게 보이는 테이블이 있다고 가정 해 봅시다 가능한?사용 ID 열

+1

정말로 필요한 경우 여기에 한 가지 방법이 있습니다. 그것을 할 http://stackoverflow.com/a/17894239/1920232 – peterm

+0

그것은 복잡하지만 작동합니다! 머리를 주셔서 감사합니다. 그러나 나는 그 길로 갈 것이라고 생각하지 않습니다. – IsenGrim

+0

문자열 접두어와 AUTO_INCRMENT에서 반환 된 값의 연결로'fooId' 열을 저장해야한다는 요구 사항을 살펴 보겠습니다. 또는 접두사를 별도의 열에 저장하는 것이 좋습니다. 그리고 결합 된 (결합 된) 두 개의 열이 필요할 경우이를 필요로하는 쿼리의 SELECT 목록에 표현식을 사용하십시오. 그러나 ... 우리는 술어 (즉, WHERE 절의 조건)에서 CONCAT() 표현식을 사용하고 싶지 않습니다. – spencer7593

답변

1

아니요. 행을 추가하는 INSERT 문에서 AUTO_INCREMENT 열에 할당 된 값을 참조 할 수 없습니다. 명령문에서 값을 사용할 수 없습니다. 또한 BEFORE INSERT 트리거에서는 사용할 수 없습니다.

fooSn AUTO_INCREMENT 열에 할당 된 값을 기준으로 fooId 열에 값을 할당하려면 AFTER INSERT 트리거를 만들 수 있습니다. 그러나 그것은 방금 삽입 된 행의 업데이트를 필요로합니다. 그리고 AFTER INSERT 트리거 내에서 그렇게하려고하면 MySQL은 오류 1442를 발생시킵니다.