mysql为每一列添加"prefix"

Gho*_*cho 7 php mysql prefix alter

我需要在某列中的每个值前面添加一个"前缀".

示例:x列中的所有字段均为:200,201,202,203等.我需要它们为pn_200,pn_201,pn_202,pn_203等.

有没有办法使用ALTERMODIFY命令来做到这一点?

我想要的东西 ADD to BEGINNING of * column_name 'pn_'

或者也许是用PHP做到这一点的方法?也许得到该字段的值,将其转换为变量,并执行类似的操作.

`$variablex = `'SELECT column_name FROM table'
$result = mysqli_query($con, variablex);
 foreach($r=mysqli_fetch_row($result) {
    `ADD TO BEGINNING OF * column_name 'pn_'`
Run Code Online (Sandbox Code Playgroud)

反正有吗?

Mac*_*ity 18

实际上它更容易.

UPDATE table SET column_name = CONCAT('pn_', column_name)
Run Code Online (Sandbox Code Playgroud)

如果没有WHERE子句,它将更新表的所有行

  • 当然.就像`UPDATE表SET column_name = REPLACE(column_name,'pn_','')`一样简单 (3认同)

Mar*_*c B 5

SELECT concat('pn_', column_name) AS column_name
FROM yourtable
Run Code Online (Sandbox Code Playgroud)

但为什么在数据库层呢?在PHP中执行它是微不足道的:

SELECT column_name ...

while($row = mysql_fetch_assoc($result)) {
   $data = 'pn_' . $row['column_name'];
}
Run Code Online (Sandbox Code Playgroud)