2011-07-23 14 views
10

Jak inkrementować pole w MySql przy użyciu "NA DUPLIKOWANĄ AKTUALIZACJĘ KLAWISZA" podczas wstawiania wielu wierszy?Jak zwiększyć pole w MySql przy użyciu "NA DUPLIKOWANĄ AKTUALIZACJI KLUCZA" podczas wstawiania wielu wierszy?

Na jednym rzędzie:

INSERT INTO table 
    (a, counter_elem) 
VALUES 
    (1, 1) 
ON DUPLICATE KEY UPDATE counter_elem = counter_elem+1; 

Dla wielu wierszy:

INSERT INTO table 
    (a, counter_elem) 
VALUES 
    (1, 1), 
    (2, 1) 
ON DUPLICATE KEY UPDATE counter_elem = ?; 

To nie działa:

counter_elem = VALUES(counter_elem)+1 

Odpowiedz

16

Dokładnie w ten sam sposób!

INSERT INTO table 
    (a, counter_elem) 
VALUES 
    (1, 1), 
    (2, 1) 
ON DUPLICATE KEY UPDATE counter_elem = counter_elem + 1; 

Nie ma problemu!

+0

Masz rację. Próbowałem go, zanim zadałem pytanie, ale spowodowało ono nieprawidłowy przyrost z powodu błędu w mojej klasie, teraz naprawiłem błąd i to działa. – Darm

Powiązane problemy