From 7533f810205e43cba5b87af7efe24c99ee1177d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=BB=91=E5=85=94?= <173592829@qq.com> Date: Thu, 11 Jun 2020 21:58:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20MYSQL=20BulkInsert=20Null?= =?UTF-8?q?=E5=80=BC=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SmartSql.Bulk.MySql/BulkInsert.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/SmartSql.Bulk.MySql/BulkInsert.cs b/src/SmartSql.Bulk.MySql/BulkInsert.cs index f5c7d6eb..1e1a817d 100644 --- a/src/SmartSql.Bulk.MySql/BulkInsert.cs +++ b/src/SmartSql.Bulk.MySql/BulkInsert.cs @@ -16,6 +16,7 @@ namespace SmartSql.Bulk.MySql { public class BulkInsert : AbstractBulkInsert { + const string NULL_VALUE = "NULL"; public BulkInsert(IDbSession dbSession) : base(dbSession) { } @@ -85,18 +86,22 @@ private string ToCSV() var originCell = row[dataColumn]; if (originCell is DBNull) { - dataBuilder.Append(DBNull.Value); + dataBuilder.Append(NULL_VALUE); } else { - var dateCell = (DateTime) originCell; + var dateCell = (DateTime)originCell; var dateCellTime = dateCell.ToString(DateTimeFormat); dataBuilder.Append(dateCellTime); } } + else if (row[dataColumn] is DBNull || dataColumn.AutoIncrement) + { + dataBuilder.Append(NULL_VALUE); + } else { - var colValStr = dataColumn.AutoIncrement ? "" : row[dataColumn]?.ToString(); + var colValStr = row[dataColumn]?.ToString() ?? NULL_VALUE; dataBuilder.Append(colValStr); }