Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 21.01.2014 Ostrzeżenie: (0%)
|
Chciał bym napisać obsługę wyjątku, który sprawdzi, czy dodawane dane do bazy danych istnieją. Jeżeli tak - wyświetli komunikat, że takie dane już istnieją i zapytanie nie zostanie wykonane.
Powiedzmy, że mam takie zapytanie:
Co teraz zrobić? Znalazłem taką funkcję jak mysql_insert_id(), ale nie wiem czy tutaj ją mogę wykorzystać. Wtedy zapytanie powinno zawierać jeszcze słowo IGNORE. Tabela tabela pole ID ma unikatowe i uzupełniane automatycznie. Wartość tego pola nie jest przekazywana w formularzu, tylko powyższe dane. Dodam, że mój formularz jest umieszczony w pętli foreach, więc w zapytaniu wykorzystuje jeszcze zmienną $i, ale to nie jest teraz istotne. Ten post edytował x X x 27.03.2014, 16:53:20 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 809 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%)
|
Jeśli założyłeś również na prac_id, które jest autonumerem, to rekord dodawany do tabeli będzie unikalny w stosunku do każdego innego w tabeli.
Chyba, że dodawałbyś rekord z prac_id i taka wartość oraz wartości pozostałych pól istniałyby w tabeli. Z COUNT nie mieszaj, i tak Twoim założeniem jest aby w bazie istniały unikalne (pojedyncze rekordy), więc po co zliczać. Jeśli już to zwykły select z warunkami. Ten post edytował trueblue 27.03.2014, 17:28:31 |
|
|
|
x X x Nie dodawaj danych z formularza do bazy jeżeli te istnieją - jak ? 27.03.2014, 16:50:21
trueblue Załóż index unikalny na jednym lub więcej pól, lub... 27.03.2014, 17:08:39
webmaniak A słowem kluczowym w budowanym zapytaniu powinno b... 27.03.2014, 17:11:56
x X x Gdy tworzyłem tabelę dopisałem coś takiego na końc... 27.03.2014, 17:21:58
x X x No tak, rzeczywiście. Zaraz to zmienię. Zauwazyłem... 27.03.2014, 17:34:37
trueblue A zauważyłeś, że robisz count również na prac_id? 27.03.2014, 17:35:53
x X x Ale w swojej tabeli nie brałem pod uwagę ID. To co... 27.03.2014, 17:38:40
trueblue Po pierwsze nie rób COUNT, bo albo dostaniesz 1, a... 27.03.2014, 17:53:19
x X x A jak się odnieść do wyniku wykonania tego zapytan... 27.03.2014, 18:06:46
trueblue Wydrukuj zmienną, do której przekazujesz wynika z ... 27.03.2014, 18:40:42
x X x Udało mi się zrobić! Zrobiłe zwykłego selecta,... 28.03.2014, 11:35:37 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 06:01 |