Avatar billede mcardle Nybegynder
26. november 2011 - 17:36 Der er 2 kommentarer og
1 løsning

if column <= 0 delete row

Jeg eksperter, jeg ville lige høre om der fandtes en metode, ligesom  denne:

INSERT INTO reports
SET order_id=123, item_id=1, num=1
ON DUPLICATE KEY UPDATE order_id=123, item_id=1, num=num+1

Som bare sletter min row, hvis num <= 0?

Eller skal man ud i noget stored procedure?

//mcardle
Avatar billede komputerdk Mester
27. november 2011 - 20:53 #1
normalt så laver man en IF count >0 then insert Else update .....


men hvis row <= 0 skal den slettes..??? så hvis rækken ikke er der skal den slettes??
Avatar billede mcardle Nybegynder
28. november 2011 - 03:52 #2
Nej, hvis et felt i tabel bliver 0 eller mindre end 0, så skal den slette den rækken.
Avatar billede mcardle Nybegynder
14. december 2011 - 18:53 #3
Jeg fik det ordnet med en stored procedure:

USE `moneymanage`;
DROP procedure IF EXISTS `sub`;

DELIMITER $$
USE `moneymanage`$$
CREATE PROCEDURE `moneymanage`.`sub` (IN iid INT, IN oid INT, IN amt INT)
BEGIN

DECLARE current_items INT DEFAULT 0;

SELECT num_items
INTO current_items
FROM mm_order_line
WHERE item_id = iid
AND order_id = oid;

IF (current_items - amt) <= 0 THEN DELETE FROM mm_order_line WHERE item_id = iid AND order_id = oid;
ELSE UPDATE mm_order_line SET num_items = num_items - amt WHERE item_id = iid AND order_id = oid;
END IF;

END$$
DELIMITER ;

Håber der er nogen der kan bruge det til noget :D

//mcardle
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester