반응형
mySQL Bench에서 BEFORE INSERT TRIGGER를 만드는 데 도움이 필요합니다. 이 제발 새로운 메신저.
CREATE TABLE `quincyninying`.`toytracking` (
`Toyid` INT NOT NULL,
`ToyName` VARCHAR(50) NULL,
`Toycost` DECIMAL NULL,
`ToyAction` VARCHAR(50) NULL,
`ActionDate` DATETIME NULL,
PRIMARY KEY (`Toyid`));
CREATE TABLE `quincyninying`.`toy` (
`Toyid` INT NOT NULL,
`ToyName` VARCHAR(50) NULL,
`Toycost` DECIMAL NULL,
PRIMARY KEY (`Toyid`));
INSERTED되는 장난감 테이블 레코드의 정보, 'INSERT'가 될 하드 코딩 된 ToyAction 및 레코드가 삽입 된 현재 날짜 및 시간을 사용하여 toytracking 테이블에 레코드를 추가하는 장난감 테이블에 BEFORE INSERT 트리거를 만듭니다.
ERROR 1054: Unknown column 'inserted' in 'NEW' SQL Statement:
CREATE DEFINER = CURRENT_USER TRIGGER `quincyninying`.`toy_BEFORE_INSERT` BEFORE INSERT ON `toy`
FOR EACH ROW
BEGIN
IF new.inserted THEN
SET @toyaction = 'DELETE';
ELSE
SET @toyaction = 'NEW';
END IF;
INSERT INTO `quincyninying`.`toytracking` (toyId, ToyName, ToyCost, Toyaction, ActionDate)
VALUES (new.toyid, new.Toyname, new.Toycost,@Toyaction, now());
END
"오류 1054 : 'NEW'에 알 수없는 열 '삽입'"라는 오류가 표시됩니다.
해결 방법
해당 이름의 열이 없으므로 IF new.inserted
테스트를 제거하고 ToyAction
INSERT 를 하드 코딩합니다. > 요구 사항에 명시된대로 열.
CREATE DEFINER = CURRENT_USER TRIGGER `quincyninying`.`toy_BEFORE_INSERT` BEFORE INSERT ON `toy`
FOR EACH ROW
BEGIN
INSERT INTO `quincyninying`.`toytracking` (toyId, ToyName, ToyCost, Toyaction, ActionDate)
VALUES (new.toyid, new.Toyname, new.Toycost, 'INSERT', now());
END
참조 페이지 https://stackoverflow.com/questions/40521292
반응형
'MySql' 카테고리의 다른 글
MySQL 동일한 열에서 여러 WHERE 조건으로 선택 (0) | 2020.11.01 |
---|---|
MySQL CentOs 5.5에 Sphinx를 설치하려면 어떻게하나요? (0) | 2020.11.01 |
MySQL mysql (5.6) 데이터베이스에 json 배열을 저장할 데이터 유형 (0) | 2020.10.31 |
MySQL 연결 풀링 질문 : 그만한 가치가 있습니까? (0) | 2020.10.31 |
MySQL Flask SQLAlchemy 값 또는 다른 필터 (0) | 2020.10.31 |
댓글