事前の注意:これは私の答えではありません。 http://lists.mysql.com/mysql/202610 で見つけました 簡単にするために、StephenCookにコピーして貼り付けました
INFORMATION_SCHEMA.TABLESビューを使用して、GRANTステートメントを生成できます。次の行に沿ってクエリを記述します:
SELECT CONCAT('GRANT SELECT ON test.', TABLE_NAME, ' to ''foouser'';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME LIKE 'foo_%'
次に、それを実行し、結果をコピーして、それらの結果をクエリまたはスクリプトとして実行します。もちろん、これで好きなだけ夢中になることができます。たとえば、多くのユーザーに対してこれを行う場合は、ユーザー名のパラメーターを受け取り、必要なときにいつでもツールとして使用できる保存されたプロシージャを作成できます。
これはあなたが求めた構文ではありませんが、うまくいく素晴らしいトリックです。
-
テーブルスキーマ'test'をデータベースの名前に置き換えます。 foo_%は適切なprefix_%
に置き換えることができます私はこれを自分で試しましたが、うまくいきました。