Skip to content

Commit b244411

Browse files
authored
Merge pull request #132 from XiaoHeitu/fix_mysql_bulkinsert_nullvalue
修复 MYSQL BulkInsert Null值问题。
2 parents c30be33 + 7533f81 commit b244411

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/SmartSql.Bulk.MySql/BulkInsert.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ namespace SmartSql.Bulk.MySql
1616
{
1717
public class BulkInsert : AbstractBulkInsert
1818
{
19+
const string NULL_VALUE = "NULL";
1920
public BulkInsert(IDbSession dbSession) : base(dbSession)
2021
{
2122
}
@@ -85,18 +86,22 @@ private string ToCSV()
8586
var originCell = row[dataColumn];
8687
if (originCell is DBNull)
8788
{
88-
dataBuilder.Append(DBNull.Value);
89+
dataBuilder.Append(NULL_VALUE);
8990
}
9091
else
9192
{
92-
var dateCell = (DateTime) originCell;
93+
var dateCell = (DateTime)originCell;
9394
var dateCellTime = dateCell.ToString(DateTimeFormat);
9495
dataBuilder.Append(dateCellTime);
9596
}
9697
}
98+
else if (row[dataColumn] is DBNull || dataColumn.AutoIncrement)
99+
{
100+
dataBuilder.Append(NULL_VALUE);
101+
}
97102
else
98103
{
99-
var colValStr = dataColumn.AutoIncrement ? "" : row[dataColumn]?.ToString();
104+
var colValStr = row[dataColumn]?.ToString() ?? NULL_VALUE;
100105
dataBuilder.Append(colValStr);
101106
}
102107

0 commit comments

Comments
 (0)