1

I have to execute a prepared statment in workbench, logining as an user who doesn't have privileges:

EXECUTE PreparedStatmentName USING @a, @b;

I have tried:

GRANT EXECUTE ON PreparedStatmentName TO 'User';

But it is an "Illegal GRANT/REVOKE command."

(Sorry for my bad english)

Achille
  • 25
  • 6
  • EXECUTE does not need in any special permissions. You must have permissions which is enough for to execute the statement which is prepared. – Akina Aug 11 '21 at 16:29

1 Answers1

0

The EXECUTE privilege is actually for executing stored procedures, not prepared statements.

No privilege is needed to PREPARE or EXECUTE an SQL statement, besides the privileges required by that SQL statement itself.

In other words, if the user has SELECT privilege on a given table, then that user can run an SQL query to do that SELECT, whether they run the SELECT directly or by using PREPARE and EXECUTE.

Bill Karwin
  • 538,548
  • 86
  • 673
  • 828