[SQL] MySQL의 DELIMITER 구문 오류
SQLMySQL의 DELIMITER 구문 오류
이 MySQL의 스크립트는 여러 트리거를 설치합니다.
그것은 MySQL의 5.0.51b - 지역 사회를 실행하는 하나의 시스템에서 작동합니다. 레드햇 리눅스 GNU (I386)에 대한 MySQL의 14.12 DISTRIB 5.0.45을 실행하는 다른 컴퓨터가 DELIMITER 관련이있을 것으로 보인다이 오류 메시지와 함께 실패에 // ... // DELIMITER; 구문 :
스크립트 구문 (요약)입니다 :
DROP TRIGGER IF EXISTS trigger_name;
DELIMITER //
CREATE TRIGGER trigger_name BEFORE UPDATE ON table
FOR EACH ROW BEGIN
-- Trigger logic goes here
END //
DELIMITER;
-- More trigger drop/create statements follow
무엇 스크립트 문제이며, 어떻게 그것을 해결할 수 있습니까?
해결법
-
==============================
1.시험
시험
DELIMITER ;
아니
DELIMITER;
당신은 실제로 지정하고; 구분 명령 인수 때문에 공간을 구비하지 거기 혼동 될 수있다.
-
==============================
2.당신은 'DELIMITER'사이의 공간이 필요합니다 ';'
당신은 'DELIMITER'사이의 공간이 필요합니다 ';'
DELIMITER ; # not: DELIMITER;
-
==============================
3.그냥 추가 기능, 다른 사람에게로 :
그냥 추가 기능, 다른 사람에게로 :
구분 기호는 하나의 문으로 서버에 전달하기 위해 전체 정의를 사용하는 데 필요합니다.
-
==============================
4.MySQL의 I의 버전 구분 기호 명령을 사용할 때 같은 오류가 발생합니다 사용하지만,이 버전은 구분 기호를 처리합니다 ";" 문장 및 단락에 대한 "|" 내가 해결할 수있는 문제를 문제를 생각하는 저장 프로 시저 및 함수에 대한; 이 시도:
MySQL의 I의 버전 구분 기호 명령을 사용할 때 같은 오류가 발생합니다 사용하지만,이 버전은 구분 기호를 처리합니다 ";" 문장 및 단락에 대한 "|" 내가 해결할 수있는 문제를 문제를 생각하는 저장 프로 시저 및 함수에 대한; 이 시도:
DROP TRIGGER IF는 trigger_name의 존재;
UPDATE ON 테이블 BEFORE 트리거 trigger_name의를 CREATE 각 행에 대해 BEGIN - 트리거 로직은 여기 간다 END |
- 다른 진술이나 여기 기능
-
==============================
5.흠 나는 비슷한 문제에 봉착했습니다. 나는 데비안 레니에서 mysqldump는이 5.0.51 5.0을 실행하고 실행 오픈 솔라리스에 가져 시도하고 같은 오류를받을 수 있나요. 그리고 DELIMITER이있다;
흠 나는 비슷한 문제에 봉착했습니다. 나는 데비안 레니에서 mysqldump는이 5.0.51 5.0을 실행하고 실행 오픈 솔라리스에 가져 시도하고 같은 오류를받을 수 있나요. 그리고 DELIMITER이있다;
버전 충돌?
-
==============================
6.아래를보십시오.
아래를보십시오.
나는 그것이 목적을 해결해야 확신합니다.
DELIMITER + CREATE TRIGGER STUDENT_INSERT_TRIGGER BEFORE INSERT ON FSL_CONNECTIONS FOR EACH ROW BEGIN INSERT INTO STUDENT_AUDIT SET STUDENT_ID = NEW.STUDENT_ID, MAC_ADDRESS = NEW.MAC_ADDRESS, IPADDRESS = NEW.IPADDRESS, EMAIL_ID = NEW.EMAIL_ID , START_TIME=NEW.START_TIME, END_TIME=NEW.END_TIME, STATUS=NEW.STATUS; END; +
위에서 우리는 DELIMITER를 사용하는 경우. 그것은의 형식이어야합니다
DELIMITER + -- BLOCK OF SQL WHATEVER YOU WANT TO MENTION -- +
from https://stackoverflow.com/questions/1102109/mysql-delimiter-syntax-errors by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 거래-SQL 속기는 조인 구문을? (0) | 2020.07.10 |
---|---|
[SQL] 오라클에 자바에서 대량 삽입 (0) | 2020.07.10 |
[SQL] 파이어 버드에 UNION ALL과 ORDER BY를 결합 (0) | 2020.07.10 |
[SQL] 여러 OR MySQL은 절 (0) | 2020.07.10 |
[SQL] 독특하고 합 SQL 쿼리 (0) | 2020.07.10 |