MySQL,连接两列

MySQL表中有两列: SUBJECTYEAR

我想生成一个字母数字唯一的数字,它保存来自SUBJECT和YEAR的连接数据。

我怎样才能做到这一点? 有没有可能使用像+这样的简单运算符?

你可以像这样使用CONCATfunction:

 SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table` 

更新:

为了得到这个结果,你可以试试这个:

 SET @rn := 0; SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0')) FROM `table` 

在PHP中,我们有两个选项来连接表列。

第一个选项使用查询

在查询中, CONCAT关键字用于连接两列

 SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`; 

第二个选项使用符号(。)

从数据库表中提取数据后,将值分配给variables,然后使用(。)符号并连接值

 $subject = $row['SUBJECT']; $year = $row['YEAR']; $subject_year = $subject . "_" . $year; 

我们将使用空格,逗号,字母,数字等来代替下划线(_)

你可以使用CONCAT()内build的php来做这个。

 SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`; 

那么结果是 在这里输入图像说明

如果你想连接相同的领域使用相同的其他领域然后

 SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1 

那么这是输出 在这里输入图像说明

首先在表newcol_name创build一个列,像这样 – 试试这个 – update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;