插入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)
}