Portál AbcLinuxu, 20. ledna 2026 11:56
Vopred veľmi pekne ďakujem za pomoc.
Řešení dotazu:
SELECT `cislo` + 1 AS `nedef` FROM `cisla` WHERE `cislo` + 1 NOT IN (SELECT `cislo` FROM `cisla`) LIMIT 1;
Tabulka je cisla sloupec je cislo...
SELECT id+1 AS num FROM table WHERE num NOT IN (SELECT id FROM table) ORDER BY num LIMIT 1;Otázkou je, k čemu je to dobré. Obvykle se totiž jednou použité a smazané klíče již nerecyklují, protože bývají zdrojem problémů. Nejmenší bude asi ten, že vkládání bude zbytečně pomalé.
UPDATE Vydajka SET CisloFaktury=
(
SELECT VolneCislo FROM
(
SELECT CisloFaktury+1 AS VolneCislo FROM Vydajka WHERE CisloFaktury+1 NOT IN
(
SELECT CisloFaktury FROM Vydajka
)
ORDER BY CisloFaktury ASC LIMIT 1
)
AS Temporary
)
WHERE ID=xxx;
Ten úvodný select tam musí byť, lebo databáza nemôže vykonávať select nad upravovanou tabuľkou, takže vytvoríme záložnú.
Veľmi pekne ďakujem za pomoc.
select
cislo
from tabulka prvni
left join tabulka druha on druha.cislo = prvni.cislo + 1
where druha.cislo is null
order by prvni.cislo desc
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.