| cus,
zajímalo by mě jestli se dá ověřit existence objektu v mysql jen pomocí sql dotazu, bez použití procedur.
mam kod
$sql = mysql_query("INSERT INTO zalozky (idr,str,time,idclanku) VALUES ('{$_SESSION["ids"]}','{$_GET["strana"]}',' ".ktime(1)."','$id')");
a chtěl bych to vložit jen pokud ten záznam neexistuje a pokud existuje jen ho updatenout.
diky:)
----------
[link]
[link]
Někdy kokot kokotem není, někdy je to prostě jenom pták. (odpovědět) | qteck | | | 364250869 | 27.4.2011 20:18 |
|
|
|
|
| a já do toho tahal procedury.. :), díky.
----------
[link]
[link]
Někdy kokot kokotem není, někdy je to prostě jenom pták. (odpovědět) | qteck | | | 364250869 | 27.4.2011 22:16 |
|
|
|
| Očekávám od toho ještě jednu věc, v tom byl právě ten problém. Pokud použiji update, tak se insert nesmí vykonat a naopak. To jsem ovšem zapomněl napsat jak koukám :). Proto ty procedury, protože umožňujou větvit příkaz, ale kvůli tomu kraťoučkýmu kódu se mi to zdá zbytečný, takhle to komplikovat. Nemá někdo jiný nápad?
----------
[link]
[link]
Někdy kokot kokotem není, někdy je to prostě jenom pták. (odpovědět) | qteck | | | 364250869 | 27.4.2011 22:37 |
|
|
|
| asi te moc dobre nechapu. kdyz pouzijes tu zminenou syntaxi, tak se provede bud pouze insert (zaznam neexistuje), nebo pouze update (zaznam existuje), ale nikdy oboji. (odpovědět) | Emkei | | | ![PGP](/images/design/pgp.gif) | 28.4.2011 0:05 |
|
|
|
|
| můžeš to trochu posat? co tím přesně myslíš? přiřadit identifikátoru unikátní index?
----------
[link]
[link]
Někdy kokot kokotem není, někdy je to prostě jenom pták. (odpovědět) | qteck | | | 364250869 | 27.4.2011 22:56 |
|
|
|
| jo aha já přehlédl že to chceš updatovat.. tak to sorry.. asi bych volil to co napsal emkei pokud to vyhovuje
----------
chacha (odpovědět) | |
|
|
| ne nevyhovuje právě. ono to sice updatne ale zároveň vloží řádek.
----------
[link]
[link]
Někdy kokot kokotem není, někdy je to prostě jenom pták. (odpovědět) | qteck | | | 364250869 | 28.4.2011 12:00 |
|
|
|
| tak tam mas nekde chybu, treba v primarnim klici. jak ten INSERT presne pouzivas? (odpovědět) | Emkei | | | ![PGP](/images/design/pgp.gif) | 28.4.2011 12:15 |
|
|
|
| "INSERT INTO zalozky
(id,str,time,idclanku)
VALUES ('{$_SESSION["logid"]}','{$_GET["strana"]}' ,'".ktime(1)."','$id')
ON DUPLICATE KEY UPDATE time = 'NOW()'"
v podstatě to dělá jakoby tam duplicate key vubec nebyl.
----------
[link]
[link]
Někdy kokot kokotem není, někdy je to prostě jenom pták. (odpovědět) | qteck | | | 364250869 | 28.4.2011 15:05 |
|
|
|
| tabulka vypadá takhle
CREATE TABLE `zalozky` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` int(11) NOT NULL,
`str` varchar(20) NOT NULL,
`time` datetime NOT NULL,
`zobrazit` smallint(6) NOT NULL DEFAULT '1',
`idclanku` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=107 DEFAULT CHARSET=utf8;
----------
[link]
[link]
Někdy kokot kokotem není, někdy je to prostě jenom pták. (odpovědět) | qteck | | | 364250869 | 28.4.2011 15:21 |
|
|
|