2017-05-18 17 views
0

新しく作成したユーザーにテーブルを作成する権限を与えようとしています。SQLテーブル権限を作成する

が、私はそれが

GRANT CREATE TABLE ON databaseName.* TO userName_3; 

だろうと思っているだろうしかし、私は、このSQL文を実行しようとしているときに構文エラーを受け取ります。

誰も私になぜそれが動作していないと言うことができるでしょうか? おかげ

+0

エラー – clamchoda

+0

ERROR 1064(42000):SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が1行目の 'table to userName_3'の近くで使用されるようにしてください。 – Perfectionist

+0

どのSQL製品を使用していますか?適切なタグを([tag:sql]タグを追加したときに提案されているように)編集して追加してください。構文は製品によって異なる場合があります。 –

答えて

0

MySQLクエリで

表の権限をTABLEを使用することはできません

GRANT CREATE ON databaseName.* TO userName_3; 

については、この SQL Server grand permission

GRANT CREATE ON SCHEMA :: databaseName TO userName_3; 

を読みます

表の権限は、特定の表のすべての列に適用されます。 テーブルレベルの権限を割り当てるには、ON db_name.tbl_name構文を使用します。

GRANT ALL ON mydb.mytbl TO 'someuser' @ 'somehost';補助金の選択、挿入 ON 'mydb.mytbl' 'someuser' @ 'somehost'; tbl_nameをdb_name.tbl_nameよりも と指定すると、ステートメントは デフォルトデータベースのtbl_nameに適用されます。デフォルトのデータベースがない場合はエラーが発生します。テーブル・レベルで

許容priv_typeに値がトリガ、UPDATE、CREATE、 ビューを作成、削除、DROP、GRANTのOPTION、INDEX、INSERT、REFERENCES、 SELECT、ビューの表示、ALTERです。

表レベルの権限は、基本表およびビューに適用されます。テーブル が一致する場合でも、CREATE TEMPORARY TABLEで作成されたテーブルには が適用されません。 TEMPORARYテーブル権限の詳細は、 第13.1.18.3項「CREATE TEMPORARY TABLE構文」を参照してください。

MySQLは、テーブル特権をmysql.tables_privテーブルに格納します。

関連する問題