我有一个接口,我希望允许输入任意 SQL 选择语句(作为输入字符串),该语句将从给定表中选择数据以用于操作。我想确保此语句不会更改数据库。
string query = GetStringFromForm(...);
DatabaseStatement statement(query);
statement.execute();
while (statement.fetch(...))
...
实现这一点的一种方法是创建一个具有适当权限的新数据库用户,然后在该用户下执行语句。这会很麻烦,因为它需要设置这个新用户并为其创建一个新的数据库连接等等。
有没有办法隔离单个语句 MySQL 5.5 的权限?或者其他方式来做到这一点?