MySQL 例程不工作

MySQL Routine Not Working

我试图在 mysql 服务器上创建一个例程。

DELIMITER //
    CREATE PROCEDURE `Create.Site`( SrvID BIGINT(20), sType BIGINT(20),
              sParent BIGINT(20), sName VARCHAR(150),
              sDesc LONGTEXT, sSetts LONGTEXT )
    BEGIN
        DECLARE ID BIGINT(20);
        /* Error Handling */
        DECLARE EXIT HANDLER FOR SQLEXCEPTION 
            BEGIN
                GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE,
                                            @errno = MYSQL_ERRNO,
                                            @text = MESSAGE_TEXT;
                SET @full_error = CONCAT("ERROR ", @errno,
                                         " (", @sqlstate, "): ",
                                         @text);
                SELECT @full_error;
                ROLLBACK;
            END;
        COMMIT;

        START TRANSACTION;
            INSERT INTO `Sites`
                (`serverID`, `siteType`, `siteParent`)
            VALUES
                (SrvID, sType, sParent);
            SET ID = LAST_INSERT_ID();
            INSERT INTO `Common`
                (`attachWhich`, `attachID`, `commName`, `commSettings`)
            VALUES
                (2, ID, sName, sDesc);
        COMMIT;

    END//
DELIMITER ;

虽然它创建甚至执行都没有错误,但没有创建任何数据。 mysql 错误日志中也没有任何内容。我试过更改所有名称 (columns/tables/routine)

还将 SELECT @full_error; 更改为 SELECT @full_error INTO OUTFILE '/var/log/mysql/create-site-error.txt'; 并且没有创建任何内容...

我在这里做错了什么,我怎样才能让它工作?

MySQL: Ver 15.1 Distrib 10.0.23-MariaDB

Create.Site 让我担心。你能把它改成Create_Site并改成CALL吗?您要应用它的数据库的名称是什么。

你在 CALL 之后检查错误了吗?