code: func GetZeroValue(col *model.ColumnInfo) types.Datum {
  	var d types.Datum
  	switch col.Tp {
  	case mysql.TypeTiny, mysql.TypeInt24, mysql.TypeShort, mysql.TypeLong, mysql.TypeLonglong, mysql.TypeYear:
  		if mysql.HasUnsignedFlag(col.Flag) {
  			d.SetUint64(0)
  		} else {
  			d.SetInt64(0)
  		}
  	case mysql.TypeFloat:
  		d.SetFloat32(0)
  	case mysql.TypeDouble:
  		d.SetFloat64(0)
  	case mysql.TypeNewDecimal:
  		d.SetMysqlDecimal(new(types.MyDecimal))
  	case mysql.TypeString:
  		if col.Flen > 0 && col.Charset == charset.CharsetBin {
  			d.SetBytes(make([]byte, col.Flen))
  		} else {
  			d.SetString("")
  		}
  	case mysql.TypeVarString, mysql.TypeVarchar:
  		d.SetString("")
  	case mysql.TypeBlob, mysql.TypeTinyBlob, mysql.TypeMediumBlob, mysql.TypeLongBlob:
  		d.SetBytes([]byte{})
  	case mysql.TypeDuration:
  		d.SetMysqlDuration(types.ZeroDuration)
  	case mysql.TypeDate:
  		d.SetMysqlTime(types.ZeroDate)
  	case mysql.TypeTimestamp:
  		d.SetMysqlTime(types.ZeroTimestamp)
  	case mysql.TypeDatetime:
  		d.SetMysqlTime(types.ZeroDatetime)
  	case mysql.TypeBit:
  		d.SetMysqlBit(types.ZeroBinaryLiteral)
  	case mysql.TypeSet:
  		d.SetMysqlSet(types.Set{})
  	case mysql.TypeEnum:
  		d.SetMysqlEnum(types.Enum{})
  	case mysql.TypeJSON:
  		d.SetMysqlJSON(json.CreateBinary(nil))
  	}
  	return d
  }
docs: // GetZeroValue gets zero value for given column type.