MySQL での文字列の実行: 可能ですか?
MySQL では、特にクエリとして文字列変数を渡すと、課題が発生することがよくあります。動的に実行します。 Microsoft SQL Server の EXEC コマンドとは異なり、MySQL には同様の機能がありません。ただし、この機能を実現する別のアプローチが存在します。
MySQL で文字列を動的に実行するには、次の手順を実行できます。
この概念を説明する例を次に示します。
SET @queryString = ( SELECT CONCAT('INSERT INTO user_group (`group_id`,`user_id`) VALUES ', www.vals) as res FROM ( SELECT GROUP_CONCAT(qwe.asd SEPARATOR ',') as vals FROM ( SELECT CONCAT('(59,', user_id, ')') as asd FROM access WHERE residency = 9 ) as qwe ) as www ); PREPARE stmt FROM @queryString; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @asd = NULL;
この例では、@queryString 変数は次のように準備されます。個々のクエリ部分を連結します。次に、準備されたステートメント stmt が実行され、INSERT 操作が動的に実行されます。実行後、ステートメントの割り当てが解除され、動的クエリによる影響が残らないように @asd 変数が NULL に設定されます。
この手法を採用することで、MySQL で文字列を効果的に実行し、MySQL の動作を模倣することができます。 JavaScript の eval() 関数を使用すると、より動的で柔軟なクエリ実行の可能性が広がります。
以上がMySQL で動的 SQL クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。