实现功能:
从表idcard中读取身份证号,将身份证信息和校验结果写入到表idcard_result中。
代码流程:
1. 创建存储方法validate_idcard(p_idcard),校验身份证号p_idcard是否合法
2. 创建存储过程validateIdcard从idcard表中读取身份证数据,调用存储方法validate_idcard校验合法性,将结果写入到表idcard_result
3. 调用存储过程,完成校验
set global log_bin_trust_function_creators=1;
DELIMITER $$
/************************************************************
函数名称:validate_idcard
参数:p_idcard
返回值:身份证校验结果
备注:目前中国的身份证号码有18位和15位.
1,18位身份证号码的组成:6位地区编码+8位出生年月日+3位编号(奇男偶女)+1位校验码
2,15位身份证号码的组成:6位地区编码+6位出生年月日+3位编号(奇男偶女)
18位身份证校验规则:
1、身份证号码前17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2 ;
2、将这17位数字和系数相乘的结果相加;用加出来和除以