2016-10-21 15 views
0

カラムにカンマ区切りの値で構成され、同じカラムにさまざまな重複値があります。データはbelow-カンマ区切りのカラムから異なる値を取得し、mysqlの別のテーブルに挿入します。

select id,category_ids from tableName; +---------+-----------------------+ | id | category_ids | +---------+-----------------------+ | 1062810 | 4,7,2,2,2,2,4,7 | | 1062812 | 4 | | 1062814 | 7,7,7,7,7,7,7,7 | | 1062850 | 2,2,2,2,2,2,2,2,2,2,2 | | 1063294 | 6,6,6,6,6,6,6,6,6,6,6 |

のように見えるとアウトプットは

+---------+-----------------------+ | id | category_ids | +---------+-----------------------+ | 1062810 | 4,7,2 | | 1062812 | 4 | | 1062814 | 7 | | 1062850 | 2 | | 1063294 | 6 |

する必要があります私は

+0

いずれかが上記のクエリを追加して更新できる場合は、より多くのh elp full for me –

+0

あなたのサーバー側のスクリプト言語はどれですか?例:PHP –

+0

こんにちは@MathsRkBala私はPHPを使用しています –

答えて

1

このお試しくださいMySQLへの新たなんだ私を助けてください:

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "select id,category_ids from tableName"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     $id = $row["id"]; 
     $category_ids = array_unique(explode(',',$row["category_ids"])); 

     $update_sql = "update tableName category_ids='".implode($category_ids,',')."' where id = ".$id ; 
     $res = $conn->query($update_sql,$conn); 

     echo "Update ID-".$id." Category ids:" .$row["category_ids"]. " Into " . implode($category_ids,','). "<br>"; 
    } 
} else { 
    echo "No data in your table"; 
} 
$conn->close(); 
+0

ありがとう@Mathsこれは良い解決策ができますが、私はいくつかのMySQLのクエリソリューションを探しています。 –

+0

@vijaybirsinghようこそ:-)私がMySqlで知っていれば、私はあなたを提供します.. –

関連する問題