sql >> データベース >  >> RDS >> Mysql

MySQLでプリペアドステートメントを使用してテーブルを切り捨てる方法は?

    いいえ、 テーブル名をバインドできないため、プリペアドステートメントは解決策にはなりません。したがって、テーブルの切り捨てにプリペアドステートメントを使用することは避けてください。

    SQLリテラをバインドすることはできません lしかしデータ1。したがって、キーワード、演算子、および識別子は、プリペアドステートメントを使用してバインドすることはできません。バインドできるのはデータのみです。

    PDOプリペアドステートメントは、バインドされたパラメーターなどの機能を使用してユーザー入力をサニタイズできるため、ユーザー入力を使用してクエリを実行する場合に役立ちます。

    したがって、私の提案では、テーブルの切り捨てにプリペアドステートメントを使用しないでください。

    準備済みを使用して本当に切り捨てたい場合、使用しているOpencartの場合は、次のコードを使用します:

    $sql = sprintf('TRUNCATE TABLE %s%s', DB_PREFIX, $table);
    $this->db->query($sql); 
    

    これを一度試して、私に知らせてください



    1. Mysqlの遅いクエリ:INNER JOIN +ORDERBYによりファイルソートが発生します

    2. データベースの検索とフィルタリング/リファインはLaravel4になります

    3. 結果をコンマ区切りのリストとして返すPostgreSQLクエリ

    4. GROUPBYのわずかなバリエーションを探しています