mEmpl 및 mOrder라는 테이블이 2 개 있습니다.mysql - 외래 키를 datetime 필드 유형으로 지정할 수 없습니다.
mEmpl 9 개 필드가 있습니다
IDEmployee (INT), 짧은 이름 (VARCHAR), 이름 (VARCHAR), DBegin (날짜 기본 키), DEND (날짜 기본 키), 디렉토리 (VARCHAR)를, 모드 (VARCHAR 기본 키), 시간제 (VARCHAR) IDJob (INT)가
mOrder 11 개 필드 가지고
IDOrder (INT)을 NrOrder (INT) OrderDesc (VARCHAR) IDOwner (INT), 예산 (부동), DBegin (날짜 시간), DEND (날짜), 모드 (VARCHAR), ArtCost (INT), BaseRate (INT), BASEITEM (INT)는
내가 mEmpl를 참조 mOrder(DBegin, DEnd, and Mode)
에서 외부 키를 추가하려고 항상 오류 메시지가 발생합니다 :
ERROR 1005 (HY000): Can't create table 'spezet.#sql-4d4_1' (errno: 150)
하지만, 난 그냥 같은 DBegin에 외래 키를 추가하는 경우 :이 오류를 제기 아니에요
ALTER TABLE mOrder ADD FOREIGN KEY (DBegin) REFERENCES mEmpl(DBegin);
! DBegin이 성공적으로 mEmpl.DBegin 기본 키를 가리키고 있습니다.
아무에게도 나에게 설명 할 수 있습니까? 또는 MySQL이 실제로 2 datetime 필드를 동시에 가리킬 수 없는지 여부를 알려주십시오. 귀하의 회신에 미리 감사드립니다.
사용중인 스토리지 엔진은 무엇입니까? –
각 테이블에 대해 'SHOW CREATE TABLE table_name'을 실행하고 여기에 게시하십시오. – fancyPants
브라이언 : InnoDB Engine을 사용하고 있습니다 .. tombom : 고마워, 그 쿼리를 시도해 .. – Andromeda