Navicat for Mysql通过存储函数插入数据报错:Data too long for column 'cust_id' at row 1

这几天复习SQL必知必会这本书,到存储过程这章,

用Mysql实现这章最后的例子:(Navicat for Mysql 存储函数)

Navicat for Mysql通过存储函数插入数据报错:Data too long for column 'cust_id' at row 1

orders表定义:

Navicat for Mysql通过存储函数插入数据报错:Data too long for column 'cust_id' at row 1

运行后报错 :

Procedure execution failed

Data too long for column 'cust_id' at row 1


原因: 创建存储函数时,参数只有名字和类型选项;而 cust_id 字段定义长度为 10,我想应该是参数默认长度大于10,

于是函数sql语句中给参数加上长度即可:

Navicat for Mysql通过存储函数插入数据报错:Data too long for column 'cust_id' at row 1

希望能帮到遇到同样问题的朋友