[英]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.