MySQL:插入日志中的列为空

时间:2019-09-15 12:18:11

标签: mysql sql stored-procedures

我在mysql中有此存储过程:

DELIMITER $$
CREATE PROCEDURE createCompany ()
BEGIN
    DECLARE finished INTEGER DEFAULT 0;
    DECLARE company varchar(5000) DEFAULT "";

    DEClARE cur CURSOR FOR SELECT company FROM companies; 
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1

    OPEN cur;

    getCompany: LOOP
        FETCH cur INTO company;
        IF finished = 1 THEN 
            LEAVE getCompany;
        END IF;

        call LOG(company);
    END LOOP getCompany;
    CLOSE cur;
END$$
DELIMITER ;

LOG过程是:

DELIMITER $$
CREATE PROCEDURE `LOG`(IN message varchar(5000))
BEGIN
    insert into tmplog (log) values (message);
END$$
DELIMITER ;

我有一个名为tmplog的时态表,其中有两个字段:日期和日志(varchar(5000))

当我致电createCompany时,我得到下一个结果:

enter image description here

日志列为空...出了什么问题?

1 个答案:

答案 0 :(得分:1)

具有与列同名的变量非常危险。试试这个:

$date_from = "2007-02-05";
$date_from = strtotime($date_from);

$date_to="2007-02-20";
$date_to = strtotime($date_to);

for ($i=$date_from; $i<=$date_to; $i+=86400) {
$day = date("Y-m-d", $i);
$unixTimestamp = strtotime($day);

$dayOfWeek = date("l", $unixTimestamp);

if ($dayOfWeek == "Monday") {
    echo $day ."is a". $dayOfWeek;
}
}//end for