Portál AbcLinuxu, 12. května 2025 22:13
Řešení dotazu:
SELECT * FROM my_table WHERE ID='12345' SELECT * FROM my_table WHERE TIMESTAMP='98765432'Doporučoval bych ale nastudovat si základy SQL, bez toho nemá smysl se pokoušet vytvářet příkazy metodou pokus–omyl. Mimochodem, ID je obyčejně unikátní (a v databázi bývá nastavena kontrola unikátnosti), takže pak je ta druhá část podmínky zbytečná.
je mozno se nejak dovedet, ktera z tech WHERE klausuli byla pricinou toho 'nesmazani'WHERE je logická podmínka – testuje se každý záznam, pokud je podmínka vyhodnocena jako pravdivá, záznam se smaže, pokud je nepravdivá, záznam se nechá být. Pokud byste chtěl zjistit, které části podmínky nějaký konkrétní záznam nevyhovuje, musíte nejdřív nějak dokázat ten záznam jednoznačně identifikovat. K tomu by ale nejspíš sloužilo to ID, a pokud pak chcete záznam s daným ID smazat, prostě dejte do podmínky jenom to ID. Pokud jej chcete smazat jedině v případě, kdy má zároveň konkrétní TIMESTAMP, použijte tu vaši podmínku. Pokud chcete uživatele informovat, že nedošlo ke smazání, protože se mezi tím TIMETSTAMP změnil, udělejte pod smazání SELECT na dané ID – pokud něco najdete, víte, že se záznam nesmazal a že jej tedy někdo musel změnit. Všechno je to ale takové na vodě, protože se tam nepoužívá zamykání, takže může kdykoli dojít ke změně – ale předpokládám, že zamykání nechcete používat schválně.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.