2

我在这里使用表单中的参数插入我的数据库。

该表单有 4 个输入字段(current_no、current_street、current_city、current_state)。我已经对其进行了设置,以便客户端可以在网页上显示这些值中的每一个,但他们想要的是能够在单个列中查看这些值。

所以基本上从...

当前_否 | 当前街道 | 当前城市 | 当前状态

至...

| 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

尝试使用

INSERT INTO customers (current_address)
SELECT
  CONCAT_WS(' ', current_no, current_street, current_city, current_state)
于 2012-11-07T13:05:54.013 回答
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 回答
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 回答