Autor Zpráva
beg
Profil *
V DB mám buňku, do které chci zapisovat data. Chtěl bych, aby když je buňka prázdná, data se normálně zapsala (to umím), ale pokud tam už nějaký záznam je, potřebuji, aby stará data zůstala a od nových se oddělila čárkou. A s tím si nevím rady. Nevíte, jak by se to dalo udělat?
xmark
Profil
Opět jen hádám, ale řekl bych, že jde o špatný návrh databáze. Zkus naznačit, co řešíš a pravděpodobně ti někdo poradí lepší postup.
joe
Profil
Jde to takhle
UPDATE `table` SET column = if( column IS NULL , 'text bez carky', CONCAT(column , ', s carkou' ) ) 


Nevím k čemu to potřebuješ, ale jak píše xmark, pravděpodobně se jedná o špatný návrh db.
beg
Profil *
Buňka má obsahovat čísla oddělená čárkou, která poté zpracovává jiný skript, proto to musí být takhle, aby to fungovalo.

joe:
Vyzkoušel jsem to a nefunguje to správně. Kdyý je buňka prázdná, tak se tam ta hodnota zapíše i s tou čárkou.
ninja
Profil
beg: Prázdná buňka znamená null nebo ""? Pokud "", upravte si tu podmínku.
beg
Profil *
Abych řekl pravdu, tak nevím. Uvozovky nefungují, apostrofy také ne:

mysql_query("UPDATE SET table = IF(column IS '', '10', CONCAT(column , ',10' )) WHERE userid=$userid");


Kde je chyba?
Keeehi
Profil
Jakmile jsou v databázi data oddělená čárkou (nebo jiným oddělovačem) jde u začátečníků v 99,99% případů o špatný návrh databáze. To že to potom zpracovává jiný script je sice hezké ale to nedělá ze špatného návrhu návrh dobrý. Prostě upravíte ten zpracovávající script. Vím že je to práce navíc (do které se nikdy nikomu nechce), ale příště na takové věci budete myslet dopředu. Vytloukáte tu klín klínem. Čím dřív přijdete na to, že tudy cesta nevede, tím méně práce budete mít potom. Pokud potřebujete poradit, jak by správný návrh vypadal, zeptejte se.
beg
Profil *
Bohužel to nemohu měnit, je to součástí většího celku.
Poradil by mi někdo, jak to zprovoznit, prosím?
beg
Profil *
Koukám, že v příspěvku [#6] je přehozené jméno tabulky se sloupcem. Ale i když to mám správně, stejně se do prázdného pole (NULL) zapisuje hodnota s čárkou.
Kajman_
Profil *
V mysql je prázdný řetězec a null něco jiného. Aby podmínka kontrolovala korektně obě možnosti, zkuste např.
if(ifnull(`column`,'')='',...
beg
Profil *
Kajman:
A kam to mám dát do toho dotazu? Promiň, ale moc se v tom neorientuji.
beg
Profil *
Vyřešeno, udělal jsem to přes podmínku v PHP, který testuje, zda je buňka prázdná.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0