Поватрящи се записи в таблица

C++ JAVA
Post Reply
systems
Турист
Турист
Posts: 279
Joined: Fri Sep 28, 2012 7:04 pm
Location: ..

Поватрящи се записи в таблица

Post by systems » Tue May 28, 2019 2:17 pm

Добър ден имам таблица с повтарящи се резултати в базата с данни извеждам ги
без да се повтарят със следната заявка:

[php]$zaqvka = mysql_query("SELECT DISTINCT колони FROM Таблица") or die(mysql_error());
while($row = mysql_fetch_assoc($zaqvka)) { [/php]


Въпроса ми е как да направя така че след запис в база данни да се изтрият повтарящите се записи зная че се използва

[php]DELETE FROM Таблица WHERE колона;[/php] но незная как да трябва да изглежда заявката за триене само на повтарящи се записи моля за помощ благодаря ви.

joTunkiq
Потребител
Потребител
Posts: 825
Joined: Tue Dec 25, 2012 10:03 am
Answers: 142
Contact:

Post by joTunkiq » Tue May 28, 2019 3:50 pm

Значи имаш колона със свободен текст, за примера ще я кръстим "title" и искаш като вкараш нов ред в таблицата и колоната title се повтаря да изтриваш всички редове които имат същата стройност в колоната си "title" ?

Като цяло за повтарящи се записи можеш да направиш някои от тези неща или всички.
1. Преди да запазиш каквато и да е да направиш проверка дали няма вече такъв запис и да не въвеждаш изовщо?
[sql]Select count(title) FROM table where title = 'Ново заглавие'[/sql]

2. Можеш да изтриеш всичко преди това с такова заглавие за да си сигурен, че няма да има повторение и след това да направиш инсърта
[sql]Delete from table where title = 'Ново заглавие което може да се повтаря';
Insert into table (title, pole2, pole3 .. ) VALUES ('Ново заглавие което може да се повтаря', 'pole2', 'pole3' .. );[/sql]
https://www.w3schools.com/php/php_mysql_delete.asp
https://www.w3schools.com/php/php_mysql_insert.asp


3. В таблицата в mysql, направи полето да е unique и то ще ти хвърля грешка ако вече има повторение по тази колона . https://www.w3schools.com/sql/sql_unique.asp

П.с - отговора на въпроса ти е т.2 - така най-бързо ще се отървеш от повторенията АКО има преди да вкараш нов ред. Не е най-правилния начин по редица причини. :?:

Пс2. Винаги когато работиш с база данни и триене, си направи един бекъп за всеки случай преди да почнеш да триеш :) :?:

systems
Турист
Турист
Posts: 279
Joined: Fri Sep 28, 2012 7:04 pm
Location: ..

Post by systems » Tue May 28, 2019 6:18 pm

Благодаря ви много оправих го.

Post Reply