phpmyadmin sql 명령에서 작동하는 동안 이벤트 구문 오류가 발생했습니다.
랭킹에서 삭제; ALTERTABLE 랭킹 AUTO_INCREMENT = 1; 랭킹에 삽입(추가) 순위 설명 제한 100의 순서로 플레이어에서 사용자 이름을 선택합니다;
이것은 내가 10분마다 실행하고 싶은 명령이며, 나는 상위 100명의 플레이어를 지속적으로 저장해야 하는 테이블을 가지고 있습니다.그리고 sql 명령줄에 명령어를 입력하면 작동이 잘 됩니다.그러나 동일한 명령을 사용하여 이벤트에서 실행하려는 순간 이 오류가 나타납니다.
어쩌면 제가 사건의 한계를 이해하지 못하는 것일 수도 있습니다. 누군가 제가 무엇을 잘못하고 있는지 말해줄 수 있나요?안타깝게도 저는 Maria Db. 10.1.48을 실행하는 서버를 사용하고 있어서 Rank()와 같은 새로운 Windows 기능을 사용할 수 없습니다.
세 개의 SQL 문을 사용하여 이벤트를 정의하는 것처럼 보이지만 다음을 사용하지 않습니다.BEGIN ... END
그들 주변을 차단합니다.이벤트에 여러 개의 문이 있는 경우 BEGIN과 END를 사용해야 합니다.
따라서 이벤트 정의는 다음과 같습니다.
CREATE EVENT ...
DO BEGIN
DELETE FROM Ranking;
ALTER TABLE Ranking AUTO_INCREMENT = 1;
INSERT INTO Ranking (username) select username from Players order by rank desc LIMIT 100;
END
저는 읽기를 추천합니다: https://mariadb.com/kb/en/begin-end
나는 또한 당신이 처음 두 개의 진술을 대체할 수 있다는 것을 언급할 것입니다.TRUNCATE TABLE Ranking;
모든 행을 삭제하고 사용하는 것보다 더 빨리 자동 검색을 재설정합니다.DELETE
표에 행이 100개만 있으면 차이를 알아차리지 못할 수 있지만 표가 커지면 차이가 날 수 있습니다.
언급URL : https://stackoverflow.com/questions/68457423/phpmyadmin-event-syntax-error-while-it-works-on-the-sql-command
'code' 카테고리의 다른 글
도커의 호스트 디렉토리에 액세스할 때 사용 권한이 거부되었습니다. (0) | 2023.08.11 |
---|---|
속성과 속성의 차이점은 무엇입니까? (0) | 2023.08.11 |
논리적 AND 연산자 &&와 함께 Swift iflet 사용 (0) | 2023.08.06 |
Null 포인터Kotlin 조각에서 보기에 액세스하려고 할 때 예외 발생 (0) | 2023.08.06 |
하위 문자열 가져오기 - 특정 문자 앞의 모든 항목 (0) | 2023.08.06 |