1

これは単純な状況ですが、この問題の原因を理解したいと思いました。次のコードがあります(たとえば、変更されています):

SELECT `Transactions`.*, CONCAT_WS(" ", `People`.`first_name`, `People`.`last_name`) AS full_name ...

私のローカルマシンには次のものがあります:

  • ウィンドウズ10
  • アパッチ 2.4.25
  • PHP 7.4.11
  • MySQL 5.7.25

その組み合わせで、次のコードは正常に動作します。

リモートサーバーには次のものがあります。

  • Ubuntu 20.04.1 LTS
  • アパッチ 2.4.41
  • PHP 7.4.3
  • MySQL 8.0.19

そのため、データ テーブルを使用するセクションがあり、データ テーブルはサーバー側の処理を使用して情報を取得します。ローカルでは情報が正しく表示されますが、リモートサーバーでは常に空の配列が得られます。そこで、リモート サーバーで同じ SQL コマンドを実行しようとしたところ、次のエラーが発生しました。

#1054 - Unknown column ' ' in 'field list'

CONCAT_WS私のSQLは正しく形成されていたので、おそらく問題は関数に関連していると思いました.

そこで、次のように変更することにしました。

SELECT `Transactions`.*, CONCAT_WS(' ', `People`.`first_name`, `People`.`last_name`) AS full_name ...

私は基本的にに変更CONCAT_WS(" ",CONCAT_WS(' ',、コードは意図したとおりに機能しました。

これが何らかの形で影響を与えるかどうかはわかりませんが、これは MySQL の使用要件CONCAT_WSまたはその他の要件の変更ですか?

他の場所で一重引用符で使用しても問題ありませんか?

4

1 に答える 1