Cri*_*ero 3 mysql stored-procedures
我有一个从数据库中所有表中删除用户信息的过程。
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
Run Code Online (Sandbox Code Playgroud)
我想以某种方式使输入变量仅是无符号的,以匹配数据库结构的设置方式。这可能吗,什么是最佳实践?
只要加上这个词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
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作来强制抛出错误而不是警告
SET sql_mode='STRICT_ALL_TABLES';
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参见手册。
归档时间: |
|
查看次数: |
2972 次 |
最近记录: |