我需要在某个列的每个值前面添加一个“前缀”。
示例:x列中的所有字段均为:200,201,202,203等。 我需要它们为pn_200,pn_201,pn_202,pn_203等。
有没有办法使用ALTER
或MODIFY
命令来执行此操作?
我想要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_'`
有没有这样做?
答案 0 :(得分:17)
实际上它更容易。
UPDATE table SET column_name = CONCAT('pn_', column_name)
如果没有WHERE子句,它将更新表的所有行
答案 1 :(得分:5)
SELECT concat('pn_', column_name) AS column_name
FROM yourtable
但是为什么要在数据库层呢?在PHP中完成它是微不足道的:
SELECT column_name ...
while($row = mysql_fetch_assoc($result)) {
$data = 'pn_' . $row['column_name'];
}
答案 2 :(得分:1)
我认为这就是你想要的
$que = "SELECT column_name FROM table";
$res = mysql_query($que, $con);
if(mysql_num_rows($res)>0){
while($row = mysql_fetch_array($res)){
echo "PN_". $row['column_name'];
}
}
如果您只想在开始时用pn_显示它 但如果你想在数据库中也改变它,你需要选择所有获取id值和 用concatination更新它
答案 3 :(得分:0)
UPDATE MyTable
SET MyField = CONCAT('pn_', MyField)