![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czy jest możliwośc z poziomu mysql tak ustawić, że gdy dodaje rekord, a dane pole jest unikalne i dodaje nazwę, która już jest, chcę, aby moja naywa została zmodyfikowana. Przykłdowo
Jest w tabeli takie pole id: 2, nazwa: słoń Probuje dodać pole 3, w polu nazwa dać wartość również słoń. Chcę, aby w taim wypadku, do słonia została dodana "2", czyli wartość słoń2 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 16 Dołączył: 2.12.2009 Skąd: Płock/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
nie wiem czy jest w mysql taka możliwość (wątpię, żeby była) - ale ja to bym zrobił tak:
pobrałbym sobie najpierw:
jeżeli pusty wynik - dodać słoń UPDATE'em jeżeli pełny to wyciąłbym sobie liczbę która jest za 'słoń' zwiększyłbym ją o 1 i skleił 'słoń' i tą zwiększoną liczbę i tak zapisałbym do bazy ![]() może to i trochę zagmatwane, może nawet nieeleganckie - ale jest późno(przynajmniej dla mnie ![]() ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 12.04.2009 Skąd: Rypin Ostrzeżenie: (0%) ![]() ![]() |
możesz ustawić primary key na nazwę, wtedy mysql nie pozwoli na zapis drugiej takiej samej wartości. Innej możliwości nie ma, no chyba że sposób kolegi exood też jest praktyczny i często stosowany.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
możesz ustawić primary key na nazwę, wtedy mysql nie pozwoli na zapis drugiej takiej samej wartości. Innej możliwości nie ma, no chyba że sposób kolegi exood też jest praktyczny i często stosowany. Chyba unique -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 411 Pomógł: 35 Dołączył: 27.06.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście, że się da i nie trzeba żadnych kombinacji, można to zrobić jednym zapytaniem.
Polecam bardzo interesującą lekturę: manual MySQL na ten temat -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
REPLACE INTO ...
-------------------- śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu.. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 21:52 |