If Then mysql
Sziasztok!
Azt szeretném megoldani, mysql-ben hogy:
1. Lekérek egy táblából egy id-t azt eltárolom egy változóban (@valtozo).
2. Ha a változó értéke NULL (nem létezik) akkor szúrjon be egy sort egy másik táblába.
Ezt hogy lehet megcsinálni?
Köszi
■ Azt szeretném megoldani, mysql-ben hogy:
1. Lekérek egy táblából egy id-t azt eltárolom egy változóban (@valtozo).
2. Ha a változó értéke NULL (nem létezik) akkor szúrjon be egy sort egy másik táblába.
Ezt hogy lehet megcsinálni?
Köszi
Dokumentáció
Ezzel próbálkoztam
SELECT id INTO @aid FROM `lista` WHERE aname='teszt' LIMIT 0,1;
IF ISNULL(@aid) THEN INSERT INTO `szer_k` (`id`,`a`,`b`) VALUES (NULL, 'Teszt2',@aid);
Mi a hibaüzenet?
Ez..
VALUES (
NULL , 'Teszt2', @aid
);
A MySQL mondta:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF ISNULL(@aid) THEN INSERT INTO `szer_k` (`id`,`a`,`b`) VALUES (NULL, 'Teszt2',' at line 1
Ha megkeresed a
JAVITVA
IF ISNULL(@aid) THEN INSERT INTO `szer_k` (`id`,`a`,`b`) VALUES (NULL, 'Teszt2',10);
Nem értem
Ennek semmi értelme, de itt van rá a lekérdezés:
Nem,
Majd ezt a változót megvizsgálom és hogyha nem volt ilyen id tehát az értéke NULL akkor egy másik táblába beszúrok 1 sort.
Ez valami iskolai feladvány
Utóbbi esetben jó lenne, ha inkább a tényleges feladatot vázolnád, mert erős a gyanúm, hogy tévúton jársz.
Nem iskolai feladat
PHP-val simán menne, de én csak Mysql-t akarok használni.
Szimpla mazochizmusból, vagy
Részleteznéd a célt?
Biztosan megoldható csak MySql-el is (ha ragaszkodsz hozzá), de ehhez én még mindig nem látom át a célt.
Mi van az első táblában? (Pl. felhasználók?)
Mit kell írj a másodikba, ha 0 sort kaptál? (Tehát mi a 2. tábla szerepe)
Mi van, ha 1 sort kaptál?
Komplett feladatra lehet helyes irányvonalat adni, ez így túl kínai, tippelgetni én nem tudok rá.
Ez még így sem érthető
Ha tárolt eljárást (stored procedure) kell írnod, az persze más tészta. Ellenőrizd a MySql CURSOR dokumentációját.