SQLクエリ内の位置に基づいてテーブル名を見つけて置き換える目立たない方法を探しています。SQL内にテーブル名を追加するためのRegex
例:
$query = 'SELECT t1.id, t1.name, t2.country FROM users AS t1, country AS t2 INNER JOIN another_table AS t3 ON t3.user_id = t1.id';
私は基本的に、テーブル名にクライアント名の略語を付加し、その後、私のCMSは、その変更を処理する必要があります。だから、 'users'から 'so_users'へ(Stack Overflowがクライアントだった場合)、Drupalのようなすべてのクエリテーブル名に中括弧を追加する必要はありません。例として、WordPressでセットアップ時にテーブル名の前に置く方法がありますが、WordPressがこの問題を処理する方法は私にとって理想的ではありません。
私の例のために私はいくつかの方法の出力になりたい:
$query = 'SELECT t1.id, t1.name, t2.country FROM so_users AS t1, so_country AS t2 INNER JOIN so_another_table AS t3 ON t3.user_id = t1.id';
(テーブル名の前に付けで 'SO_')
はありがとうございます。
kris
重複しないhttp://stackoverflow.com/questions/453975/php-regex-logic-for-prepending-table-names –
重複はありません。 – chaos