Cytat(flashdev @ 17.01.2010, 01:06:29 )

Witam!
Napisałem poniższy kod, który tworzy fragment zapytania sql dodającego kilka wpisów do tabeli w jednym zapytaniu.
$str = '';
for( $i = 0; $i < $count; $i++ ){
$str .= "(NULL, '". $arr[$i] ."', 0), ";
}
I teraz pojawił się problem. W tabeli drugie pole ma status UNIQUE. Kiedy jedna z wartości w tablicy $arr juz znajduje się w tabeli, to zapytanie wogóle się nie wykona i nie doda się żaden inny element, pomimo iż nie ma takiego w bazie.
Czy muszę to rozbijać na pojedyńcze zapytania? Da się jakoś inaczej?
a jakbys wykasował jednoznaczność indeksu, a sprawdzał po pętli czy są wpisy z duplikatem ? np.
CODE
$query1 = "ALTER IGNORE TABLE nazwa_tablicy ADD UNIQUE INDEX nazwa_kolumny";
$query2 = "ALTER TABLE nazwa_tablicy DROP INDEX nazwa_kolumny";
$result1 = mysql_query($query1, db) or die("Błąd: " . mysql_error());
$result2 = mysql_query($query2, db) or die("Błąd: " . mysql_error());
wtedy za każdym razem by sobie sprawdzał czy w tej kolumnie nie ma duplikatów, a pętla zapisze normalnie bo indeks jest dodawany i usuwany zaraz po petli..
Niewiem czy o to by ci chodziło..