概述
我有一个从数据库中所有表中删除用户信息的过程.
CREATE PROCEDURE `unrollme_version3`.`del_user` (in v_user_id int(10))
BEGIN
START TRANSACTION;
DELETE FROM user_table1 WHERE `user_id` = v_user_id;
DELETE FROM user_table2 WHERE `user_id` = v_user_id;
DELETE FROM user_table3 WHERE `user_id` = v_user_id;
COMMIT;
END
我想以某种方式使输入变量仅是无符号的,以匹配数据库结构的设置方式.这可能吗,什么是最佳实践?
解决方法:
只需添加单词unsigned.我删除(10)只是因为它无关紧要.它仅描述了应显示的位数,但始终为4字节的整数.
CREATE PROCEDURE `unrollme_version3`.`del_user` (in v_user_id int unsigned)
BEGIN
START TRANSACTION;
DELETE FROM user_table1 WHERE `user_id` = v_user_id;
DELETE FROM user_table2 WHERE `user_id` = v_user_id;
DELETE FROM user_table3 WHERE `user_id` = v_user_id;
COMMIT;
END
您可以通过执行以下操作来强制抛出错误而不是警告
SET sql_mode='STRICT_ALL_TABLES';
有关更多信息,请参见manual.
标签:mysql,stored-procedures
来源: https://codeday.me/bug/20191101/1982182.html
最后
以上就是伶俐水池为你收集整理的mysql主键unsigned,在mysql存储过程中执行unsigned参数的正确方法是什么的全部内容,希望文章能够帮你解决mysql主键unsigned,在mysql存储过程中执行unsigned参数的正确方法是什么所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复