列不能为空 - 过程

用户3529850

我想创建一个程序MySQLinsert weeks到我(本年度)week表。但是有一个问题,因为在为下一行添加第一行后,我收到一个错误:number column cannot be null我是新手,MySQL所以我会感谢任何帮助。

CREATE PROCEDURE generateWeeks()
BEGIN
    SET @currentYear = YEAR(CURDATE());
    SET @nextYear = @currentYear + 1;

    SET @startOfCurrentWeek = CURDATE();

    WHILE(@currentYear < @nextYear) DO
        SET @endOfCurrentWeek = DATE_ADD(@startOfCurrentWeek , INTERVAL 7 DAY);
        SET @weekNumber = WEEK(@startOfCurrentWeek, 3) -
            WEEK(@startOfCurrentWeek - INTERVAL DAY(@startOfCurrentWeek)-1 DAY, 3) + 1;
        INSERT INTO `week` (`number`, `start_date`, `end_date`)
        VALUES (@weekNumber, @startOfCurrentWeek, @endOfCurrentWeek);
        SET @startOfCurrentWeek = @endOfCurrentWeek + 1;
        SET @currentYear = YEAR(@endOfCurrentWeek);
     END WHILE;
END //
DELIMITER ;

编辑:表创建:

CREATE TABLE `week` (
  `id`          INT(11)      NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `number`      INT(11)      NOT NULL,
  `start_date`  DATE         NOT NULL,
  `end_date`    DATE         NOT NULL
)

为什么第while一次迭代一切正常(添加行),但在下一次迭代中我得到变量null@weekNumber

蜗牛所以

线路:

SET @startOfCurrentWeek = @endOfCurrentWeek + 1;

将变量转换为整数。请改用 date_add。

此外,不要使用用户定义的变量(@endOfCurrentWeek),您最好使用局部变量(声明 v_endOfCurrentWeek 日期)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列“列”不能为空

来自分类Dev

MySQLIntegrityConstraintViolationException: 列 '' 不能为空

来自分类Dev

JPA:列“ AdressId”不能为空

来自分类Dev

MySQLIntegrityConstraintViolationException:列“id”不能为空

来自分类Dev

列 postqs_id 不能为空

来自分类Dev

ReplyToId' 不能为空

来自分类Dev

SQL存储过程更新空列

来自分类Dev

Django:(1048,“列'user_id'不能为空”)

来自分类Dev

MySQLIntegrityConstraintViolationException:列不能为空-用于查找表

来自分类Dev

1048,“列user_ID的“不能为空”

来自分类Dev

ActiveRecord :: NotNullViolation-Mysql2列不能为空

来自分类Dev

MYSQL-错误1048(23000):列不能为空

来自分类Dev

Rails has_many索引列不能为空

来自分类Dev

FOS用户创建时,列“ salt”不能为空

来自分类Dev

Laravel:发现错误 - [23000]:列“名称”不能为空

来自分类Dev

准备好的语句:列不能为空

来自分类Dev

在存储过程中使用多个可能为空的参数进行搜索

来自分类Dev

为什么在不更新密码(带有“ has_secure_password”的第4条滑轨)的用户更新过程中出现“密码不能为空”的问题?

来自分类Dev

为什么在不更新密码(带有“ has_secure_password”的第4条滑轨)的用户更新过程中出现“密码不能为空”的问题?

来自分类Dev

邀请ID不能为空

来自分类Dev

属性“队列”不能为空

来自分类Dev

密码不能为空,Bcrypt

来自分类Dev

确认令牌不能为空

来自分类Dev

值不能为空。错误

来自分类Dev

单选按钮不能为空

来自分类Dev

毕加索 - 目标不能为空

来自分类Dev

存储过程:无效的列索引

来自分类Dev

存储过程:无效的列索引

来自分类Dev

避免在循环过程中连续显示空列

Related 相关文章

热门标签

归档