2017-11-28 19 views
0

자동 증분 열에 값을 할당하기 위해 미정을 무시하도록 mysql에 지시하는 방법이 있습니까? 우리는 매끄러운 사용하고 새 행을 만들 때 모든 자동 증가 열에 0 값을 할당 할 것으로 보인다. 이러한 자동 증가 열은 기본 키가 아닙니다.자동 증분 값에 대한 업데이트/삽입을 무시하도록 mysql에 알린다.

+0

실제로 실행중인 쿼리 나 쿼리를 생성하는 코드와 같이 좀 더 구체적인 예를 들어야합니다. 당신의 칼럼이 null이 아니며'AUTO_INCREMENT'로 설정되어 있다면 당신이 칼럼을 제공하지 않았다면 자동으로 값을 얻습니다. – tadman

답변

2

삽입 전에 을 입력하면 SET NEW.id = NULLIF(NEW.id, 0);과 같은 작업을 수행 할 수 있습니다. 물론 이것은 트리거를 먼저 놓지 않고 필드에 0을 삽입 할 수있는 것이 아무것도 없음을 의미합니다. (비록 업데이트 쿼리가 여전히 0으로 설정할 수 있습니다).

+0

NEW.id에 업데이트 전과 동일한 값을 할당하기 위해 'before update'트리거가 될 수 있습니까? 이 방법으로 새 ​​값으로 업데이트하지 않아도됩니까? –

+0

나는'NEW.id = IF (NEW.id = 0, OLD.id, NEW.id);'가 단지 0으로 변경되는 것을 막기 위해, 또는'SET NEW.id = OLD.id; 신분이 변하는 것을 막는다. _ (100 % 확신 할 수는 없지만 외래 키에 대한 계단식을 업데이트하면 문제가 발생할 수 있습니다. _ – Uueerdo

+0

필드가 외래 키가 아니므로 누군가가 업데이트를 실행하면 처음 값을 유지해야합니다. 그 위에. –