MySQL CHECK 제약 조건: 잘못된 약속
MySQL 테이블에 사용자 지정 CHECK 제약 조건을 정의하려고 하면 특이한 문제가 발생할 수 있습니다. 그러면 코드가 왜 실패하는지 궁금해집니다. 이 기사에서는 이 난제를 조명하고 대체 솔루션을 제공할 것입니다.
상태 열에 대한 CHECK 제약 조건을 올바르게 정의하고 해당 값을 'a', 'd' 및 'u'로 제한하는 동안 MySQL은 다음과 같은 오류를 발생시킵니다. 스패너 작업 중입니다. 테이블 정의에 있음에도 불구하고 CHECK 제약 조건은 MySQL에서 지원되지 않습니다. 문서에는 구문 분석되지만 모든 스토리지 엔진에서 무시된다고 명시되어 있습니다.
이러한 지원 부족으로 인해 상태 열에 대한 데이터 무결성을 적용할 대체 방법을 찾는 힘든 작업이 발생합니다. 한 가지 해결 방법은 트리거를 사용하는 것이지만 트리거의 복잡성은 압도적일 수 있습니다.
데이터베이스 설계에 CHECK 제약 조건이 필수적인 경우 PostgreSQL을 실행 가능한 대안으로 고려하십시오. 이 오픈 소스 RDBMS는 CHECK 제약 조건을 완벽하게 지원하므로 데이터 일관성을 유지하기 위한 보다 안정적인 옵션이 됩니다.
위 내용은 MySQL CHECK 제약 조건이 작동하지 않는 이유와 대안은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!