#mysql
#mysql
Вопрос:
У меня есть столбец в таблице 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 |
Пожалуйста, помогите мне, я новичок в mysql
Комментарии:
1. если кто-либо может поместить и обновить запрос для вышеупомянутого, это будет для меня более полной помощью
2. Могу ли я узнать, какой у вас язык сценариев на стороне сервера? Пример: PHP
3. Привет @MathsRkBala, я использую PHP
Ответ №1:
Попробуйте это:
// 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();
Комментарии:
1. Спасибо @Maths это может быть хорошим решением, но я ищу какое-нибудь решение для запросов mysql.