반응형
트리거를 만들어야 해요 제가 문제가 있어요
트리거를 만들어야 하는데 문제가 있습니다.
CREATE TABLE `fotos`
(
`id` int(11) NOT NULL,
`foto_patch` varchar(255) NOT NULL,
`laudo_id` int(11) NOT NULL,
`check_list_foto_id` int(11) NOT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL
)
DELIMITER $$
CREATE TRIGGER `repetidos2` BEFORE INSERT ON `tb_cautelar_fotos` FOR EACH ROW BEGIN
IF NEW.laudo_id =(
SELECT
laudo_id
FROM
`tb_cautelar_fotos`
WHERE
laudo_id = NEW.laudo_id
) THEN SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT
= 'existe';
END IF ;
END
$$
DELIMITER ;
지금까지는 모든 것이 올바르게 작동하고, 제가 요청하는 것을 존중하지만, 두 번째 옵션을 가지기 위해서는 이 트리거가 필요합니다.
laudo_id 와 check_list_foto_id 가 존재하면 메시지가 표시됩니다.
왜 나는 하나만 가질 수 있습니까?chck_list_foto_id
위해서laudo_id
?
나는 다음을 시도했습니다.
BEGIN
IF (NEW.laudo_id AND new.check_list_foto_id ) = (
SELECT
laudo_id, check_list_foto_id
FROM
`tb_cautelar_fotos`
WHERE
laudo_id = NEW.laudo_id and check_list_foto_id = NEW.check_list_foto_id
) THEN SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT
= 'existe';
END IF ;
END
삽입 시 다음과 같은 오류가 발생합니다.
#4078 - '=' 연산에 대한 잘못된 매개 변수 데이터 유형 부울 및 행
언급URL : https://stackoverflow.com/questions/76295746/i-need-to-create-a-trigger-im-having-trouble-mariadb
반응형
'source' 카테고리의 다른 글
Android Button 배경색이 변하지 않음 (0) | 2023.10.04 |
---|---|
Angular에서 .net WebAPI로 게시 (0) | 2023.10.04 |
PowerShell이 명령줄 인수에서 큰따옴표를 제거합니다. (0) | 2023.10.04 |
MySQL에서 incode/outcode로 지속 시간을 계산하는 가장 좋은 방법은 무엇입니까? (0) | 2023.10.04 |
XPath - 노드()와 텍스트()의 차이 (0) | 2023.10.04 |