| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package main
-
- import (
- "database/sql"
- "fmt"
- "testing"
-
- _ "github.com/go-sql-driver/mysql"
- )
-
- // 使用MySQL协议插入数据
- func insertViaMySQL() error {
- // Doris MySQL连接信息
- dsn := "root:mos8555@tcp(161.189.89.196:9030)/X6_STOCK_DEV"
-
- db, err := sql.Open("mysql", dsn)
- if err != nil {
- return fmt.Errorf("连接数据库失败: %v", err)
- }
- defer db.Close()
-
- // 测试连接
- err = db.Ping()
- if err != nil {
- return fmt.Errorf("数据库连接测试失败: %v", err)
- }
-
- fmt.Println("✅ 成功连接到Doris MySQL")
-
- // 插入数据
- query := "INSERT INTO A3_CLOTHING (col1, col2, col3) VALUES (?, ?, ?)"
- result, err := db.Exec(query, "EWE322Y2060049145", 2021, "Y-连衣裙")
- if err != nil {
- return fmt.Errorf("插入数据失败: %v", err)
- }
-
- rowsAffected, err := result.RowsAffected()
- if err != nil {
- return fmt.Errorf("获取影响行数失败: %v", err)
- }
-
- fmt.Printf("✅ 数据插入成功,影响行数: %d\n", rowsAffected)
- return nil
- }
-
- // 先检查表结构
- func checkTableSchema() error {
- dsn := "root:mos8555@tcp(161.189.89.196:9030)/X6_STOCK_DEV"
- db, err := sql.Open("mysql", dsn)
- if err != nil {
- return err
- }
- defer db.Close()
-
- // 查询表结构
- rows, err := db.Query("DESC A3_CLOTHING")
- if err != nil {
- return fmt.Errorf("查询表结构失败: %v", err)
- }
- defer rows.Close()
-
- fmt.Println("=== A3_CLOTHING 表结构 ===")
- for rows.Next() {
- var field, fieldType, isNull, key, defaultValue, extra string
- err := rows.Scan(&field, &fieldType, &isNull, &key, &defaultValue, &extra)
- if err != nil {
- return err
- }
- fmt.Printf("字段: %s, 类型: %s, 允许空: %s\n", field, fieldType, isNull)
- }
-
- return nil
- }
-
- // 测试函数
- func TestMySQLInsert(t *testing.T) {
- fmt.Println("=== 使用MySQL协议插入数据 ===")
-
- // 先检查表结构
- err := checkTableSchema()
- if err != nil {
- t.Fatalf("检查表结构失败: %v", err)
- }
-
- // 插入数据
- err = insertViaMySQL()
- if err != nil {
- t.Fatalf("MySQL插入失败: %v", err)
- }
-
- fmt.Println("✅ 通过MySQL协议插入数据成功!")
- }
|