nemoj da koristis CASE, dakle to je bitno :D
e sad, sta ces tacno da radis zavisi od toga sta je cilj .. ako ces da
radis UPDATE xxx onda definitivno jedan po jedan pa ih turis u
transakciju, ako tu mozda u gridu ima i nove date (a najcesce ima) onda
tu obicno ide nesto tipa
insert into tabela (id, kol1,kol2) values
(1,10,'aa'),(2,20,'bb'),(3,300,'cc'),(4,10,'dd')
on duplicate key update kol1=VALUES(kol1), kol2=VALUES(kol2);
Code:
mysql> create table tabela (id int primary key not null, kol1 int, kol2 char(2)) engine=myisam;
Query OK, 0 rows affected (0.01 sec)
mysql> insert into tabela (id, kol1,kol2) values (1,10,'xx'),(2,20,'xx'),(3,300,'xx');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> insert into tabela (id, kol1,kol2) values (1,10,'aa'),(2,20,'bb'),(3,300,'cc'),(4,10,'dd')
-> on duplicate key update kol1=VALUES(kol1), kol2=VALUES(kol2);
Query OK, 7 rows affected (0.00 sec)
Records: 4 Duplicates: 3 Warnings: 0
mysql> select * from tabela;
+----+------+------+
| id | kol1 | kol2 |
+----+------+------+
| 1 | 10 | aa |
| 2 | 20 | bb |
| 3 | 300 | cc |
| 4 | 10 | dd |
+----+------+------+
4 rows in set (0.00 sec)
mysql>