mysql将bigint变量插入tinyint类型列

时间:2018-01-26 00:40:46

标签: mysql database

我的表用户和设备的user_id列是tinyint(3)。 我必须创建一个过程,它将添加新用户并使用user_id更新这些表。所以我将分隔符设置为//并将其设为:

create procedure add_user (in pr_name varchar(15), in pr_surname varchar(15), in pr_address varchar(15), in pr_pesel float(11,0), in pr_tel int (9), in pr_package_id tinyint(3) unsigned, in pr_mac varchar(17), in pr_model varchar(15), in pr_ip int(10) unsigned) 

begin 
    set @date = curdate(); 
    insert into users values (null, pr_name, pr_surname, pr_address, pr_pesel, pr_tel, pr_package_id);
    set @id = last_insert_id()
    insert into devices (pr_mac, pr_ip, @id, pr_model, @date); 
end;//

我想从user_id(这是用户中的第一列并且也是自动增加)中最后添加users并将其放入user_id表中的devices 。 Mysql在'null, @id, pr_model, @date); end'附近返回语法错误。 我认为这是因为last_insert_id()函数返回bigint unsigned。 请帮帮我。

0 个答案:

没有答案