テーブル名やフィールド名を受け取るMySQL関数を作成する方法はありますか?このような関数にテーブル名を渡す方法は?
何か:
CREATE PROCEDURE delete_row(the_id INT UNSIGNED , @table_name)
BEGIN
IF ....... THEN
BEGIN
DELETE FROM @table_name WHERE id = the_id ;
.............
END
END
私は、文字列(SETする@ table_nameは= "TABLE_NAME")でそれをテストしたが、それはない作品を行います。
私が参考に答えを見つけ、[ここ](http://stackoverflow.com/questions/2977356/in-mysql-how-to-pass-a-table-name-as-procedure-and-or-function-argument)を参照してください。この答えによって、私はSQL文の文字列を作成し、その文字列を実行します。 SQLインジェクションの深刻な問題になる可能性があります。 –