mysql数据库在使用BulkCopy时,实体中bool类型设为false,插入数据库是null
不疯魔不成活 发布于2024/11/7
悬赏:0 飞吻
查了SqlSugar源码原因是在Private类的ToDdateTable方法中,当是bool类型,且为false时会将值转为null。(图1)
在MySqlBlukCopy类的DataTableToCsvString方法中,bool类型如果由第一步中改成了空,就会赋值为null。(图2)
最终导致插入数据库的结果本应是false,实际却是null。(图3)
请教:为什么如果是bool类型,且为false时会赋值为null?在MySql或者Doris如果把此处代码注释会不会有什么未知的影响?
版本:
数据库MySql8.0.32
SqlSugar5.1.4.170

补充,数据库中的字段类型是bit(1) 可空。

看到您回复的其他帖子,数据类型改为tinyint(1)可解决问题。
但由涉及到的表和字段太多,甚至于数据量太大,没办法改。
