1305: PROCEDURE does not exist
MySQL의미
호출한 저장 프로시저 또는 함수를 지정한 데이터베이스에서 찾지 못했다. 이 이름의 루틴이 정의되어 있지 않다.
원인
프로시저 이름 오타. 프로시저가 다른 데이터베이스에 있거나 생성된 적 없음. USE로 잘못된 스키마 선택. 프로시저를 호출할 EXECUTE 권한 없음. 대소문자 구분.
해결 방법
프로시저가 존재하는지, 어느 스키마에 있는지 확인한다: SHOW PROCEDURE STATUS WHERE Db = 'mydb'; 올바른 데이터베이스를 선택하거나(USE mydb;) 완전 한정으로 호출한다: CALL mydb.my_procedure(...); 필요한 권한을 부여한다: GRANT EXECUTE ON PROCEDURE mydb.my_procedure TO app_user;
같은 데이터베이스의 다른 항목
- 1051Unknown table 'x'
- 1091Can't DROP 'x'; check that column/key exists
- 1093You can't specify target table 'x' for update in FROM clause
- 1227Access denied; you need (at least one of) the PRIVILEGE
- 3730Cannot drop table referenced by a foreign key constraint
- 2013Lost connection to MySQL server during query
- 1153Got a packet bigger than 'max_allowed_packet' bytes