2

識別子 (単純または修飾) をバッククォートで囲む MySQL 組み込み関数はありますか? つまり、そのような関数fは次のように機能します。

f('my')戻ります`my`

f('my.table')を返し`my`.`table`、そして

f(`my`)戻るだろう`my`

4

2 に答える 2

2

通常、これはデータベース ドライバーの機能であり、データベースではありません。バッククォートは、MySQL ステートメント パーサーによってステートメントを適切にトークン化するために使用されます。したがって、そのような値を返す関数は、テーブルまたは列のトークンではなく文字列であるため、意味がありません。

データベース ドライバには、テーブル名をエスケープする機能がある場合があります。その場合は、それを使用してください。それ以外の場合は、何らかの方法で自分でロールする必要があります。

于 2012-10-16T16:23:09.183 に答える
0
concat('`',replace(your_identifier,'`','``'),'`')
于 2013-12-05T18:16:23.413 に答える