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(DROP できない。列/キーの存在を確認)
- 1093You can't specify target table 'x' for update in FROM clause(FROM 句で更新対象テーブルは指定できない)
- 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(クエリ中に MySQL サーバーとの接続が失われた)
- 1153Got a packet bigger than 'max_allowed_packet' bytes(max_allowed_packet より大きいパケットを受信)