master
huanghai 5 years ago
parent 45d8874b3a
commit 35f9808db1

@ -10,6 +10,7 @@ import (
"github.com/tidwall/gjson" "github.com/tidwall/gjson"
"log" "log"
"os" "os"
"sort"
"time" "time"
) )
@ -113,6 +114,14 @@ func addRecord(tableName string, pk string, jsonStr string) {
var mymap map[string]interface{} var mymap map[string]interface{}
var sql = "" var sql = ""
if err := json.Unmarshal([]byte(jsonStr), &mymap); err == nil { if err := json.Unmarshal([]byte(jsonStr), &mymap); err == nil {
//拿到key
var keys []string
for k := range mymap {
keys = append(keys, k)
}
//对key排序
sort.Strings(keys)
//先删除再插入 //先删除再插入
sql = `delete from ` + tableName + ` where ` + pk + `=` sql = `delete from ` + tableName + ` where ` + pk + `=`
switch (mymap[pk]).(type) { switch (mymap[pk]).(type) {
@ -128,17 +137,19 @@ func addRecord(tableName string, pk string, jsonStr string) {
//插入 //插入
sql = `insert into ` + tableName + "(" sql = `insert into ` + tableName + "("
var lineSql = "" var lineSql = ""
for key, value := range mymap {
sql += key + "," //根据key从m中拿元素就是按顺序拿了
switch value.(type) { for _, k := range keys {
sql += k + ","
switch mymap[k].(type) {
case string: case string:
lineSql += "'" + value.(string) + "'," lineSql += "'" + mymap[k].(string) + "',"
break break
case int64: case int64:
lineSql += CommonUtil.ConvertInt64ToString(value.(int64)) + "," lineSql += CommonUtil.ConvertInt64ToString(mymap[k].(int64)) + ","
break break
case float64: case float64:
lineSql += fmt.Sprintf("%d", int64(value.(float64))) + "," lineSql += fmt.Sprintf("%d", int64(mymap[k].(float64))) + ","
break break
default: default:
break break
@ -155,10 +166,16 @@ func addRecord(tableName string, pk string, jsonStr string) {
//提交 //提交
func batchSave(sqls []string) { func batchSave(sqls []string) {
for i := range sqls { fmt.Println(sqls)
_, err := db.SQL(sqls[i]).Execute() //_, err := db.SQL(sqls[0:2]).Execute()
if err != nil { //if err != nil {
panic(err) // panic(err)
} //}
}
//for i := range sqls {
// _, err := db.SQL(sqls[i]).Execute()
// if err != nil {
// panic(err)
// }
//}
} }

Loading…
Cancel
Save