Autor | Zpráva | ||
---|---|---|---|
tark Profil |
#1 · Zasláno: 10. 11. 2006, 14:05:00
Při vkládání dotazu používám tuto konstrukci:
INSERT INTO table (title,parent,order) VALUES ('Nejaky titulek',nejake cislo,(SELECT max(order) FROM table WHERE parent=$nejake_cislo + 1)) Můj problém spočívá v tom, že když v databázi není žádný záznam, tak max(order¨) je null a v tom spočívá můj problém... Null + 1 = null a já bych potřeboval, aby to hodilo třeba nulu či jedničku... Dá se to vyřešit? Dělám stromová menu a potřebuju, aby hodnoty ve sloupci order NEBYLY stejné. Nicméně není to tak jednoduché, více na tomhle - snad to pochopíte:
Víte teda někdo jak na to? Předem díky... Udělat to dvěma SQL dotazy s mezistupněm v PHP (naznačím) se mi nechce... Co kdyby někdo přidal stránku mezi těma dvěma SQL dotazy? Problém... :-/
|
||
Kajman_ Profil * |
#2 · Zasláno: 10. 11. 2006, 15:44:53
SELECT nvl(max(order),0)+1 FROM table WHERE parent=$nejake_cislo
|
||
tark Profil |
#3 · Zasláno: 10. 11. 2006, 20:15:34
Diky, zkusim!
|
||
tark Profil |
#4 · Zasláno: 10. 11. 2006, 20:33:53
ERROR: function nvl(integer, integer) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts...
fnuk :( ale i tak diky za snahu |
||
Kajman_ Profil * |
Hmm, no já pgsql moc neznám nvl je oracle, ifnull je v mysql nevěděl jsem, že tady se to jmenuje coalesce :-)
|
||
tark Profil |
#6 · Zasláno: 10. 11. 2006, 22:49:10
DĚKUJUUUUU :-) Funguje to! Já zkoušel konstrukce typu IF select ... IS NULL = 0 a nešlo... ještě jednou dík :-)
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0