Php “,”from(选择替换(CONCAT(“,”,product_id,“,”),“,666,”,“,605)”),其中查找_IN_SET('666',product_id)>0(根据请求)。我认为您应该真正使用RPM代码并将数据复制到一个新的表结构中。这个
Php “,”from(选择替换(CONCAT(“,”,product_id,“,”),“,666,”,“,605)”),其中查找_IN_SET('666',product_id)>0(根据请求)。我认为您应该真正使用RPM代码并将数据复制到一个新的表结构中。这个,php,mysql,Php,Mysql,“,”from(选择替换(CONCAT(“,”,product_id,“,”),“,666,”,“,605)”),其中查找_IN_SET('666',product_id)>0(根据请求)。我认为您应该真正使用RPM代码并将数据复制到一个新的表结构中。这个结构至少需要使用这个测试数据进行一次完整的表扫描。优化程序可以选择进行完全扫描,因为记录数不多,但如果优化程序将产品标识视为可能使用的索引,则产品标识应位于列“可能”关键字中。 |--------------------------------
“,”from(选择替换(CONCAT(“,”,product_id,“,”),“,666,”,“,605)”),其中查找_IN_SET('666',product_id)>0(根据请求)。我认为您应该真正使用RPM代码并将数据复制到一个新的表结构中。这个结构至少需要使用这个测试数据进行一次完整的表扫描。优化程序可以选择进行完全扫描,因为记录数不多,但如果优化程序将产品标识视为可能使用的索引,则产品标识应位于列“可能”关键字中。
|----------------------------------------------|
| id | product_ids |
| 1 | 51 |
| 2 | 616,2,38 |
| 3 | (NULL) |
| 4 | 426,605,604 |
|----------------------------------------------|
SELECT id, product_ids FROM products
where product_ids REGEXP '^.*[^\d]605(?!\d).*$'
$new_product_ids = preg_replace('/^(.*[^\d])(605)(?!\d)(.*)$/','${1}new_id${3}',$row1['product_ids']);
update products set product_ids = '$new_product_ids' where id = $id
while ($row1 = mysql_fetch_array($r1, MYSQL_ASSOC)) {
if($row1['product_ids']){
$val_changed = false;
$prod_ids = $row1['product_ids'];
$ids = explode(',', $prod_ids);
for($i = 0; $i < count($ids); $i++) {
if($ids[$i] === '605') {
$ids[$i] = $new_id;
$val_changed = true;
}
}
if($val_changed) {
$prod_ids = implode(',', $ids);
//update db with new value $prod_ids
}
}
}
$new_id = '999';
$new_val = preg_replace('/,605,/', $new_id, $row1['product_ids']);
SELECT * FROM products WHERE product_ids REGEXP '^[^0-9]605[^0-9]$';
while( $row1 = mysql_fetch_array( $r1, MYSQL_ASSOC ) )
{
$product_ids = explode( ',', $row1['product_ids'] );
if( ( $key = array_search( '605', $product_ids ) ) !== FALSE )
{
$product_ids[$key] = $new_id_number;
$product_ids = implode( ',', $product_ids );
// Enter Code to Update Table Here
}
}
$sql = "SELECT * FROM products";
$r1=$con->execute_query($sql);
while ($row1 = mysql_fetch_array($r1, MYSQL_ASSOC)) {
if($row1['product_ids']) {
$data = preg_split('/,/', $row1['product_ids']);
if(is_array($data)) {
foreach($data as $key => $value) {
if($value == 605) {
echo $value;
}
}
}
}
}