Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何让dbunit更好地处理MySQL枚举数据类型?_Java_Mysql_Dbunit - Fatal编程技术网

Java 如何让dbunit更好地处理MySQL枚举数据类型?

Java 如何让dbunit更好地处理MySQL枚举数据类型?,java,mysql,dbunit,Java,Mysql,Dbunit,我试图用它来测试一些数据库访问代码,但遇到了一个问题。我们正在使用某种东西作为数据库本身。我将一小部分数据导出到a,当我设置测试用例时,它抛出一个异常,该异常表示“第1行'FHEIGHT_FLAG'列的数据被截断”。列FHheight_标志定义为 enum('t','f') default NULL 在将数据插入数据库的方式中,如果数据源的实际值不是true,则该列实际上包含“”(空字符串)。使用数据库的代码只是假设,如果数据库提供的值不是“t”,那么它一定是false。我怎样才能做到这一点?

我试图用它来测试一些数据库访问代码,但遇到了一个问题。我们正在使用某种东西作为数据库本身。我将一小部分数据导出到a,当我设置测试用例时,它抛出一个异常,该异常表示“第1行'FHEIGHT_FLAG'列的数据被截断”。列FHheight_标志定义为

enum('t','f') default NULL

在将数据插入数据库的方式中,如果数据源的实际值不是true,则该列实际上包含“”(空字符串)。使用数据库的代码只是假设,如果数据库提供的值不是“t”,那么它一定是false。我怎样才能做到这一点?我无法修复源数据,因此我必须尝试对测试用例进行处理。

导出一个新的数据集,使用
“选择case when FHEIGHT_FLAG='t',然后选择't'else'f'作为FHEIGHT_FLAG结束,…(所有其他列)…from tablename”

(当然,按实际表中的列顺序排列。)


我最终修改了测试数据库FHEIGHT_FLAG列为

enum('','t','f') default NULL
这样,所有空字符串值都可以被重新插入

enum('','t','f') default NULL