使用go测试MySQL并发 不好使

sq892246139 · · 2398 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

测试代码如下: ```go package main import ( "fmt" "database/sql" _ "github.com/go-sql-driver/mysql" ) type TestMysql struct { db *sql.DB } func Init() (*TestMysql,error){ test := new(TestMysql); db,err := sql.Open("mysql","test:123456@tcp(127.0.0.1:330 6)/test?charset=utf8"); if err!=nil { fmt.Println("database initialize error : ",err.Error()); return nil,err; } test.db = db; return test,nil; } func (test *TestMysql)Close(){ if test.db!=nil { test.db.Close(); } } func (test *TestMysql)Insert(){ if test.db==nil { return; } stmt,err := test.db.Prepare("insert into test.test(id,stat_date,,count) values(4018922640424466,'2016-09-01 00:00:00.0',1) on duplicate key update count=greatest(0,cast(count as signed)+1);"); if err!=nil { fmt.Println(err.Error()); return; } defer stmt.Close(); stmt.Exec(); } func main(){ for i :=0;i<20;i++ { go func () { test,_ := Init(); test.Insert(); }() } } ``` 其中test表结构如下: create table test(id bigint , stat_date date,count int,primary key(id,stat_date)) 编译执行发现没反应,请大神们指教!!!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2398 次点击  
加入收藏 微博
1 回复  |  直到 2016-11-22 03:25:42
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传