master
huanghai 5 years ago
parent 45d8874b3a
commit 35f9808db1

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

Loading…
Cancel
Save