질문:
SQL 파일을 프로그래밍 방식으로 가져올 때 테이블 익명 사용자에 대해 0으로 설정된 'uid'라는 auto_increment 필드가 포함되어 있습니다. 그러나 MySQL은 0을 잘못된 자동 증가 값으로 처리합니다. 애플리케이션을 수정하지 않고 이 문제를 어떻게 해결할 수 있습니까?
답변:
MySQL이 유효한 자동 증가 값으로 0을 허용하도록 하려면 "NO_AUTO_VALUE_ON_ZERO를 비활성화할 수 있습니다. " 다음 명령을 사용하는 SQL 모드:
<code class="sql">SET [GLOBAL|SESSION] sql_mode='NO_AUTO_VALUE_ON_ZERO'</code>
영향:
이 설정은 INSERT 또는 UPDATE 명령을 다음 명령으로 해석하지 않도록 MySQL의 동작을 변경합니다. 다음 시퀀스 ID로 ID 0을 사용합니다. 대신 ID를 0 값으로 처리합니다.
주의:
이 방법을 사용하여 MySQL의 기본 동작을 해결하는 것은 일반적으로 잘못된 애플리케이션 설계로 간주됩니다. 특히 향후 복제를 구현할 계획이라면 ID를 일관되게 사용하는 것이 중요합니다.
이유:
"NO_AUTO_VALUE_ON_ZERO" 모드를 권장합니다. 다음 시퀀스 값을 재정의하지 않고 자동 증가 필드에 0 값을 삽입하려는 특정 사용 사례의 경우. 이 모드를 비활성화하면 코드를 변경하지 않고도 애플리케이션의 특정 요구 사항을 수용할 수 있습니다.
위 내용은 가져오는 동안 MySQL 자동 증가 필드의 0 값을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!