mysql 插入数据报错 Truncated incorrect DOUBLE value

插入语句为:

delimiter //
create procedure create_test_data()
begin
    declare i int default 1;
    set i = 1;
    while i <= 10000000 do
        insert into person (name, age, childs) VALUES
        ('张三' +  i, rand() * 100, rand() * 10);
        end while;
end //
delimiter ;

报错:

Truncated incorrect DOUBLE value:张三

我觉得是zhangsan + i执行出了问题,类似java代码不同类型的数据相加,所以修改为:

delimiter //
create procedure create_test_data()
begin
    declare i int default 1;
    set i = 1;
    while i <= 10000000 do
        insert into person (name, age, childs) VALUES
        (concat('张三', i), rand() * 100, rand() * 10);
        end while;
end //
delimiter ;

这样就可以了。

你可能感兴趣的:(错误积累)