MYSQL: gespeicherte Prozedur, eine Zeile einfügen und dann wählen Sie es per LAST_INSERT_ID()

Ich versuche eine gespeicherte Prozedur aufrufen, AddCluster
die Hexe ist unter dem parameter 'Titel' und 'alt'

Fall 1:

Wenn 'Titel' ist in der db dann einfach nur wieder die "alte" Reihe!!!

Fall 2:

Falls der 'Titel' ist NICHT in der db dann

einfügen einer Zeile-Basis auf parmerer 'Titel' und 'alt'

und wählen Sie dann die neu hinzugefügten Zeile über LAST_INSERT_ID()

Das problem ist auf Fall 2 es gibt nur leer!!!!

-- --------------------------------------------------------------------------------
-- AddCluster Group Routines
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE DEFINER=`linkbay_dk`@`%` PROCEDURE `AddCluster`(in in_title varchar(45), in in_alt text)
BEGIN
    /* check if 'in_title' is in db */
    IF EXISTS
    (
        SELECT count(*) FROM Cluster 
        WHERE title=in_title 
    )
    THEN
        /* returns old Cluster there is in db */
        SELECT * FROM Cluster WHERE title=in_title; 
    ELSE
        INSERT INTO Cluster
        (
            `id`,
            `create_at`,
            `title`,
            `alt`
        )
        VALUES
        (
            null,
            NOW(),
            in_title,
            in_alt
        );
        /* returns the newly added Cluster */
        SELECT * FROM Cluster WHERE id=LAST_INSERT_ID();
    END IF;
END$$
InformationsquelleAutor Voidcode | 2012-05-20
Schreibe einen Kommentar