插入NULL值

  • 1) 往int中插入一个NULL值
func insertNull(db *sql.DB){
        var err        error
        var result     sql.Result
        var valInt     sql.NullInt32  = sql.NullInt32{Int32:123, Valid:true}
        var valString  sql.NullString = sql.NullString{Valid:false}
        var insertSQL  string = "insert into testcase1(col1, col2) values(:1, :2)"
        result, err = db.Exec(insertSQL, valInt, valString)
        getError(err)
        rowsAffected, err := result.RowsAffected()
        fmt.Println(rowsAffected)
}
  • 2) 主要类型空值处理
func insertNullMany(db *sql.DB){
        var err        error
        var result     sql.Result
        var insertSQL  string = `insert into testcase1(col1, col2,
                                     col3, col4, col6) values(:1,
                                     :2, :3, :4, :6) `
                var time1      time.Time       = time.Now()
        var valInt     sql.NullInt32   = sql.NullInt32{Int32:123, Valid:false}
        var valString  sql.NullString  = sql.NullString{String:"hello!", Valid:true}
        var valBool    sql.NullBool    = sql.NullBool{Bool:true, Valid:true}
        var valInt64   sql.NullInt64   = sql.NullInt64{Int64:123456, Valid:true}
        var valTime    sql.NullTime    = sql.NullTime{Time:time1, Valid:true}
        result, err = db.Exec(insertSQL, valInt, valString, valBool, valInt64, valTime)
        getError(err)
        rowsAffected, err := result.RowsAffected()
        fmt.Println(rowsAffected)
}