1

データベースの動的ビューを提供するデータベース アプリケーションを作成しています。セキュリティ機能のために、選択のみを許可したい。これは、最初の単語が選択されているかどうかを確認することで簡単に実行できますか? 権限が制限された別のユーザーを作成する必要があることはわかっていますが、アプリを使いやすくするためにそれを避けようとしています。

基本的に、誰かが SELECT が最初の単語であるが実際にデータを変更できるクエリの例を教えてもらえますか?

4

2 に答える 2

2

SELECTが最初の単語であるが、データは実際に変更できる場所のクエリの例を誰かに教えてもらえますか?

そのようなことはありません。SELECTデータ読み取り専用です。もちろん、データを変更する関数を選択している場合を除きます。@spencer7593の回答を参照してください。

SELECTただし、 DBをサードパーティに公開するように見えるため、行ブロックコマンドを確認し、それらを回避することをお勧めします。

さらに読む: http ://dev.mysql.com/doc/refman/5.0/en/innodb-locking-reads.html

于 2012-08-23T21:52:30.533 に答える
1

データを変更できる SELECT ステートメントの例を次に示します (これはわかりにくい特殊なケースですが、SELECT でデータを変更できることを示しています)。

SELECT udf_myfunction()

与えられた例:

CREATE FUNCTION udf_myfunction() RETURNS INT
READS SQL DATA
BEGIN
   DELETE FROM dummy_table1;
   UPDATE dummy_table2 SET mycol = CONCAT(mycol,SUBSTR(mycol,1,1));
   RETURN 0;
END

(もちろん、EXECUTE関数を実行するには、ユーザーに関数に対する権限を付与する必要があります。)

于 2012-08-23T22:06:09.770 に答える