0

タイトルが示すように、しかし、私はユーザーがこのテーブルを変更するのを防ぐためにあらゆることを試みました。

何らかの理由で DENY が mySQL 5.5 マニュアルに存在しないため、以下は機能しません

DENY ALL ON OBJECT::database.table TO user
DENY ALL ON database.table TO 'user'@'localhost'
REVOKE ALL ON database.table TO 'user'@'localhost'

最後のものは私にこのエラーを与えます

There is no such grant defined for user 'user' on host 'localhost' on table 'table'

しかし、その場合、挿入、選択、または更新はできませんか?

以下にシステム情報を追加します。

ソフトウェア: MySQL

ソフトウェア バージョン: 5.5.27 - MySQL コミュニティ サーバー (GPL)

プロトコル バージョン: 10

Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7

データベース クライアントのバージョン: libmysql - mysqlnd 5.0.10

4

2 に答える 2

1

1 つのテーブルだけから MySQL ユーザーをロックアウトすることはできません。彼らがデータベース全体へのアクセス許可を既に持っている場合は、それを取り消して、アクセスできるようにする必要がある特定のテーブルへのアクセスを再許可する必要があります。

于 2012-11-26T06:22:36.570 に答える
0

update ステートメントを変更して、current_user()関数を利用することができます。

update mytable set
...
where id = ?
and current_user() not in ('john', 'bob', 'sally')
于 2012-11-26T06:32:22.050 に答える