如何将更多变量值插入表中的单个列?

时间:2014-03-27 09:27:32

标签: mysql

v_fname='Hari';
v_lastname='Anil'

create table name_tab(fullname varchar(200));

如何将v_fnamev_lastname插入fullname列。

我试过以下没有成功。

insert into name_tab(fullname) values('first name is :'||v_fname||'Last name is '||v_lastname);

请帮助解决这个问题 提前谢谢。

3 个答案:

答案 0 :(得分:0)

试试这个:

insert into name_tab(fullname) 
select ws_concat("||","first name is:",v_fname, "Last name is:", v_lastname) 
from <other-table>;

<other-table>是存储v_fname和v_lastname的表。

答案 1 :(得分:0)

试试这个:

insert into name_tab(fullname) 
values( concat( 'First Name is : ', v_fname, ', Last Name is: ', v_lastname );

您必须在语句中使用$v_fname$v_lastname等变量标识符(这是PHP样式)。

我建议您重新定义表结构,以将first_name和last_names作为单独的列。这样您就可以将变量中的值直接存储到各个列中。

示例

v_fname='Hari';
v_lastname='Anil'

create table name_tab( first_name varchar(200), last_name varchar(200) );

现在您可以按如下方式准备插入语句:

insert into name_tab( first_name, last_name ) 
values( ?, ? );

使用脚本语言中的预准备语句为从变量读取的每个参数设置值。

答案 2 :(得分:0)

简单的方法是

$v_fname='Hari';
$v_lastname='Anil';
$v_fullname= 'first name is :' + $v_fname + ' Last name is ' + $v_lastname;

insert into name_tab(fullname) values('$v_fullname');

否则使用像

这样的更新查询
update name_tab SET fullname=CONCAT('first name is :', '$v_fname', ' Last name is ', '$v_lastname');

我认为它也会增加记录......