2016-10-15 30 views
-1

我想从列column1中获取值并删除所有 (空格,%20,%2520,_(下划线), - (连字符)和。(点)),并将值保存到其他column2中的相应位置。
这是正确的做法吗?这甚至会工作吗?php,sql - 如何更改一列中的值并将其插入其他

$conn = new mysqli($servername, $username, $password,$dbname); 

$sql= "SELECT column1 FROM table" ; 

$result = $conn->query($sql); 

if ($result->num_rows > 0) { 

while($row = $result->fetch_assoc()) { 


    $x= $row["column1"] ; 


$find=array(" ","%20","%2520",".","-","_"); 
$x= str_replace($find,'',$x); 


       $sql2 ="INSERT INTO table 
      (column2) 
      VALUES 
      ('$x')"; 

       if ($conn->query($sql2) === TRUE) { 
       echo "Record Created <br>"; 

       } 

       else { 
       echo "Error creating Record: " . $conn->error; 
       } 

    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
+0

'Mysql' <>'SQL Server'选择你正在使用的那个 –

+0

你告诉我们:它工作吗?如果不是,那究竟是什么问题? – jeroen

+0

我正在使用'mysql' @Prdp – Azhar

回答

0

第一步

UPDATE table SET column1 = column2

二步骤

UPDATE table SET column2 = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(column2, ' ', '') , '%20', '') ,'%2520', ''), '.', '') , '-', '') , '_', '')

1

您需要UpdateInsert

使用REPLACE功能删除不需要的字符在您的专栏

首先运行select,并检查是否一切都罚款然后运行update

SELECT column1, 
     Replace(Replace(Replace(Replace(Replace(Replace(column1, ' ', ''), '%2520', ''), '%20', ''), '_', ''), '-', ''), '.', '') AS column2 
FROM yourtable 

UPDATE tablename 
SET column2 = Replace(Replace(Replace(Replace(Replace(Replace(column1, ' ', ''), '%2520', ''), '%20', ''), '_', ''), '-', ''), '.', '') 
+0

好吧我试图这 – Azhar

+0

我做了备份第一次大声笑 – Azhar

+0

@Azhar - ofcource,因为你正在运行更新查询。即使在第一次运行'选择'如果结果是好的,然后运行更新查询 –

相关问题