我想从列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();
答案 0 :(得分:1)
您需要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', ''), '_', ''), '-', ''), '.', '')
答案 1 :(得分:0)
First Step
UPDATE table SET column1 = column2
Second Step
UPDATE table SET column2 = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(column2, ' ', '') , '%20', '') ,'%2520', ''), '.', '') , '-', '') , '_', '')