MySQL插入添加了不应该存在的id的行

时间:2016-03-23 14:41:22

标签: mysql stored-procedures

我面对一些奇怪的事情,我有一个数据库表,我从中选择某些行,总共~43000,这些获取的行包含一个名为cns_id的字段(注意,这不是主键/自动增量字段),并插入不同的表。

虽然一切似乎都运行良好,但每次我最终都有94个插入的行,其cns_id为2147483647,这个id甚至不存在于我从中获取数据的表中。

以下是我正在使用的存储过程,尽管当我使用Eloquent执行相同类型的查询时也会发生此问题。

DELIMITER //
CREATE PROCEDURE FillCnsGroupWithRates
(
    IN groupId INT(10)
)
BEGIN
    SET @var1 = groupId;
INSERT INTO 
     cns_group_rates 
    (
         cns_id,
        other_cns_id,
        ppc,
        pps,
        max_price,
        notes,
        cns_group_id,
        created_at,
        updated_at
    )
    SELECT 
        cns_id,
        other_cns_id,
        ppc,
        pps,
        max_price,
        notes,
        @var1,
        now(),
        now()
    FROM 
        cns_rates
    WHERE 
        cns_id NOT LIKE '319%'
    AND
        client_id IS NULL
    AND
         subordinates IS NULL
     AND
        valid_from IS NULL;
END //
DELIMITER ;

0 个答案:

没有答案