識別子 (単純または修飾) をバッククォートで囲む MySQL 組み込み関数はありますか? つまり、そのような関数f
は次のように機能します。
f('my')
戻ります`my`
、
f('my.table')
を返し`my`.`table`
、そして
f(`my`)
戻るだろう`my`
通常、これはデータベース ドライバーの機能であり、データベースではありません。バッククォートは、MySQL ステートメント パーサーによってステートメントを適切にトークン化するために使用されます。したがって、そのような値を返す関数は、テーブルまたは列のトークンではなく文字列であるため、意味がありません。
データベース ドライバには、テーブル名をエスケープする機能がある場合があります。その場合は、それを使用してください。それ以外の場合は、何らかの方法で自分でロールする必要があります。
concat('`',replace(your_identifier,'`','``'),'`')