Pages 1
You must login or register to post a reply
Warning: count(): Parameter must be an array or an object that implements Countable in
/home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line
820
- From: Vilnius
- Registered: 2006-07-03
- Posts: 41
Topic: INSERT ar UPDATE
Kaip geriau spresti tokia problema?
Ar INSERT ar UPDATE. Visada pirma prisijungiu ir paziuriu ar tokio yraso nera. Ir tik tada darau UPDATE. Ar galiam toki reikala padaryti su viena uzklasua.
Kazka radau bet nelabai supratau:
$query = "INSERT INTO test (value) VALUES ('test') ON DUPLICATE KEY UPDATE value = 'test2'";
Gal trumpai apie tai placiau kasnors zinot? Gal kas panasiai naudojat?
SELECT * FROM users WHERE gender = 'female' AND size > 'enough' AND leftsize = rightsize AND age >= 18 AND age < 30 LIMIT 1
- minde
- Administrator
- Offline
- Registered: 2006-06-14
- Posts: 4,003
Re: INSERT ar UPDATE
Taip, tokiais atvejais naudojama "INSERT .. ON DUPLICATE KEY UPDATE ..." sintaksė. Ant norimo lauko reikia uždėti UNIQUE arba PRIMARY KEY indeksą (abu indeksai leidžia tik unikalias to lauko reiškmes).
- From: Vilnius
- Registered: 2006-07-03
- Posts: 41
Re: INSERT ar UPDATE
Tai kaip turetu atrodyti sitos dvi uzklausos i viena paverstos?
mysql_query("INSERT INTO mus_rodo (`site`,`count`,`time_last`,`url`) VALUES ('".$hostas."','1','".time()."','".$referalas."')");
mysql_query("UPDATE mus_rodo SET url = '".$referalas."', count = count+1, time_last = '".time()."' WHERE site = '".$hostas."'");
SELECT * FROM users WHERE gender = 'female' AND size > 'enough' AND leftsize = rightsize AND age >= 18 AND age < 30 LIMIT 1
- minde
- Administrator
- Offline
- Registered: 2006-06-14
- Posts: 4,003
Re: INSERT ar UPDATE
Tavo pateiktam atvejui tikriausiai netinka, nes minėtas funkcionalumas naudojamas tik laukams, kurie turi UNIQUE arba PRIMARY KEY indeksą.
Detaliau su visais niuansais: http://dev.mysql.com/doc/refman/4.1/en/insert.html
Pages 1
You must login or register to post a reply