![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chcę skopiować wiersze w obrębie tej samej tabeli zmieniając wartości w kolumnie ID_prowadzonekontrole. Do utworzenia nowych wierszy chcę dopuścić pod warunkiem, że nie istnieje obecnie rekord, który miałby takie same wartości w kolumnach ID_prowadzonekontrole i Name, jak wiersz właśnie kopiowany. Jeśli istnieje już taki wiersz, kopiowanie (tworzenie nowego wiersza) ma zostać pominięte.
Ani kolumna ID_prowadzonekontrole, ani Name nie mogą być UNIQUE. W tym celu napisałem taki zapytanie:
Oprócz tych kolumn jest jeszcze ID (AUTO INCREMENT). $protype jest kopiowane do $id. Zapytanie jest jednak nieskuteczne. Przypuszczam, że ze względu na Name = Name absolutnie nie mogło się to udać. Nie potrafię jednak zaproponować poprawki i stąd chciałbym poprosić Was o pomoc. Reytan |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
UNIQUE można założyć nie tylko na pojedyncze kolumny, ale również na kombinacje kolumn, czyli na przykład jeśli na razie w tabeli nie ma powtórzeń, których chcesz uniknąć, to wystarczy
Wtedy każda z tych kolumn z osobna może mieć powtarzane wielokrotnie te same wartości, ale ich para musi już być unikalna. INSERT INGORE powinno wówczas prawidłowo zrobić to czego oczekujesz. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za rozwiązanie! Działa.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.05.2025 - 06:24 |