PHP mysql更新不带整数


PHP mysql update without integers

需要一个PHP MYSQL查询,该查询将数据从一列复制到另一列,同时在放入新列之前剥离数据中的数字。尝试了以下操作:

  $sql = "SELECT time FROM `arms`";
  $results = $conn->query($sql);
  $sql = "update `arms` set colB=preg_replace("/[0-9]/", "", 'colA')";
  $results = $conn->query($sql);

也尝试过

  $sql = "update arms_ms set colB= " .preg_replace("/[0-9]/", "", colA). ""; 

也尝试过

  $sql = "update arms_ms set colB= colA REGEXP /^([^0-9]*)$/;  

甚至尝试过

$sql = "update arms_ms set colB= common_schema.replace_all(colA,'0123456789','') ";

以上都不起作用。

MySQL不支持regex替换。

虽然这有点乏味,但你可以这样做:

update arms_ms set
colB = replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(colA,'0',''),'1',''),'2',''),'3',''),'4',''),'5',''),'6',''),'7',''),'8',''),'9','')