| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -6,7 +6,7 @@ package main | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					*/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import ( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"database/sql" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						log2 "log" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"log" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"os" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						"time" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -15,27 +15,27 @@ import ( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					//存在所有对象信息 - 集合
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func main() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						db, _ := sql.Open("mysql", "hy_qggwy:hy_qggwy@tcp(192.168.0.110:35017)/hy_qggwy?charset=utf8") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						log2.Print("操作数据库连接:", db) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						// db.Exec("source E:/hy_qggwy_kk.sql")
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						db, _ := sql.Open("mysql", "root:admin@tcp(127.0.0.1:35017)/hy_qggwy?charset=utf8") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						log.Print("操作数据库连接:", db) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a01 where a0184 in (select d from kk)", "insert into a01 values", "a01") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a02 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a02 values", "a02") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a05 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a05 values", "a05") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a06 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a06 values", "a06") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a08 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a08 values", "a08") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a14 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a14 values", "a14") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a15 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a15 values", "a15") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a36 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a36 values", "a36") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a99z1 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a99z1 values", "a99z1") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a30 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a30 values", "a30") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a33 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "insert into a33 values", "a33") | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a01 where a0184 in (select d from kk)", "a01", []string{"A0155", "JSNLSJ", "TBSJ", "XGSJ"}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a02 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a02", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a05 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a05", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a06 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a06", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a08 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a08", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a14 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a14", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a15 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a15", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a36 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a36", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a99z1 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a99z1", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a30 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a30", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a33 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a33", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						QuerySQL(db, "select * from a57 where a0000 in (select a0000 from a01 where a0184 in (select d from kk))", "a57", []string{}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					// 获取表数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func QuerySQL(db *sql.DB, sqlStr, insertSQL, tableName string) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func QuerySQL(db *sql.DB, sqlStr, tableName string, colNil []string) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						rows, err := db.Query(sqlStr) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						log2.Print("开始备份数据:", tableName, "处理数据:", rows, "异常情况:", err) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						log.Print("开始备份数据:", tableName, ";处理数据:", rows, ";异常情况:", err) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						defer rows.Close() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						cloumns, _ := rows.Columns() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						values := make([]sql.RawBytes, len(cloumns)) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -46,22 +46,48 @@ func QuerySQL(db *sql.DB, sqlStr, insertSQL, tableName string) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						aa := "" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for rows.Next() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							_ = rows.Scan(scanArgs...) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							value, v := "(", "" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							aa = aa + insertSQL | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for _, col := range values { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if col == nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									v = "" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									v = string(col) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							key, value := "(", "(" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							aa = aa + "insert into " + tableName + " " | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							for i, col := range values { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								kk := cloumns[i] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if inStr(colNil, kk) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									continue | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if value == "(" { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									value = value + "'" + v | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								if i == len(values)-1 { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									key = key + kk | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if value == "(" { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if col == nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + "NULL" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + "'" + string(col) + "'" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if col == nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + ",NULL" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + ",'" + string(col) + "'" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									value = value + "','" + v | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									key = key + kk + "," | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									if value == "(" { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if col == nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + "NULL" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + "'" + string(col) + "'" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										if col == nil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + ",NULL" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
											value = value + ",'" + string(col) + "'" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
									} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							value = value + "');\n" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							aa = aa + value | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							key = key + ")" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							value = value + ");\n" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							aa = aa + key + " values " + value | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						var path string | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						path = "./" + tableName + "_" + time.Now().Format("2006102150405") + ".sql" | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -69,3 +95,12 @@ func QuerySQL(db *sql.DB, sqlStr, insertSQL, tableName string) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						file3.WriteString(aa) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						file3.Close() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					func inStr(colNil []string, kk string) bool { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						for _, s := range colNil { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if s == kk { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return true | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						return false | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					
  |