2

ここで、フォームのパラメーターを使用してデータベースに挿入しています。

フォームには4つの入力フィールド(current_no、current_street、current_city、current_state)があります。クライアントがこれらの各値をWebページに表示できるように設定しましたが、クライアントが必要としているのは、これらの値を1つの列に表示できるようにすることです。

だから基本的に...

current_no | current_street | current_city | 現在の状態

に...

| current_no current_street current_city current_state |

この「完全な」値を格納する別の列をテーブルに追加することにしました。この列にデータを入力するのはおそらく簡単だと思いましたが、ここで何かが足りないと思います。

insert into customers(current_address) values (current_no + ' ' + current_street + ' ' + current_city + ' ' + current_state)

これはエラーにはなりませんが、current_no値を列に挿入するだけです。

すべての値(文字列タイプ)をデータベース側の列に連結するにはどうすればよいですか?

助けてくれてありがとう!

4

3 に答える 3

3

mySQL使用中CONCAT()

insert into customers(current_address) values 
(
   (CONCAT(current_no,' ',current_street,' ',current_city,' ',current_state)
)

またはCONCAT_WS()

insert into customers(current_address) values 
(
   (CONCAT_WS(' ', current_no,current_street,current_city,current_state)
)
于 2012-11-07T13:04:55.533 に答える
3

使ってみてください

INSERT INTO customers (current_address)
SELECT
  CONCAT_WS(' ', current_no, current_street, current_city, current_state)
于 2012-11-07T13:05:54.013 に答える
0

他の人が提案しCONCAT_WSました、そしてそれは正しいです。ご存知のように、SQL言語の+演算子は文字列を連結しません。

ただし、このためにテーブルに新しい列を追加する計画について考えてください。冗長なデータを含む新しい列は、通常、優れたアイデアではありません。

データを含む列がすでにある場合は、テーブルを読み取って連結列を作成するときにSELECTクエリを使用することをお勧めします。これにより、テーブルに冗長データを配置することなく、既存のデータを利用できます。

  SELECT CONCAT_WS(' ', current_no,current_street,current_city,current_state) 
        AS current_address
于 2012-11-07T13:11:57.063 に答える