簡體   English   中英

php,sql - 如何更改一列中的值並將其插入到另一列中

[英]php,sql - how to alter values from one column and inserting it into other

我想從列column1獲取值並從中刪除所有(空格、%20、%2520、_(下划線)、-(連字符)和 .(點))並將值保存到其他column2的相應位置.
這是正確的方法嗎? 這甚至會起作用嗎?

$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();

您需要Update而不是Insert

使用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', ''), '_', ''), '-', ''), '.', '') 

第一步

UPDATE table SET column1 = column2

第二步

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM