0
INSERT 이벤트가 발생할 때마다 기본 키가 자동 생성 된 UUID 인 테이블을 만들려고합니다.기본 키 UUID 트리거
INSERT INTO `tablename` (`reference`) VALUES ('hey');
이 어떤 행이 삽입되지 않고 오류 :이 같은 기본 키 열을 건너 뛰는 삽입 쿼리를 실행하려고 할 때 그러나 문제는있다. "0 행이 삽입되었습니다 ..." 여기 내 테이블과 방아쇠가 있습니다. 고맙습니다.
CREATE TABLE `tablename` (
`uuid` char(36) NULL,
`reference` varchar(100) NOT NULL,
PRIMARY KEY (uuid)
);
DELIMITER ;;
CREATE TRIGGER before_insert_tablename
BEFORE INSERT ON tablename
FOR EACH ROW
BEGIN
IF new.uuid IS NULL THEN
SET new.uuid = uuid();
END IF;
END
;;
DELIMITER ;
는 나는 내가이 일을 놓친 믿고 수 없습니다. 하지만 'NOT NULL'로 설정하면 아무 것도 변경되지 않았습니다. 그리고 나서 방아쇠의 상태가 IF new.uuid is NULL THEN인지 확인합니다. null 또는 빈 문자열인지 확인하는 것으로 변경했습니다. 'IF new.uuid가 NULL이거나 new.uuid = ''THEN'이면 작동합니다! 나를 깨닫게 해주셔서 감사합니다. – legitghost
당신은 환영합니다;) @Ghost – wajeeh