Your Question
Sometimes it happens: 1. commands out of sync. You can't run this command now 2. busy buffer
go version: go1.16.3 windows/amd64
gorm version: gorm.io/driver/mysql v1.0.5 gorm.io/gorm v1.21.6
mysql version: 8.0.25(docker for windows)
code:
result:
The document you expected this should be explained
Expected answer
Comment From: quhaowk
It happened in win10
Comment From: wangdongpei
I meet the same question ,with a long word on sql world "in"
Comment From: wangdongpei
SELECT count(1) FROM orders left join gd_orders on orders.order_no=gd_orders.order_no WHERE (orders.channel = '368') AND (orders.status in (10,19,20,30,40)) AND (gd_orders.sale_uid in (2,3,4,5,6,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,158,163,164,165,166,167,168,169,170,171,172,173,174,177,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,272,273,274,275,276,277,278,280,281,283,284,285,286,287,288,289,290,291,292,295,296,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,373,374,375,376,377,378,379,380,381,382,384,385,386,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,442,443,445,447,448,449,451,453,454,455,456,457,458,459,460,461,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,485,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,562,563,564,565,566,567,568,569,570,571,572,573,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,597,598,599,600,601,602,603,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,631,632,633,634,635,636,637,638,640,641,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,680,681,682,683,685,687,688,689,690,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,715,716,717,719,721,722,723,724,725,727,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,760,761,762,764,765,766,768,771,772,773,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,791,792,793,794,795,796,797,798,799,800,802,804,805,807,811,817,818,820,822,824,825,826,827,828,829,831,832,835,836,837,838,839,840,841,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878)) AND (orders.pay_time >= '2021-06-18 00:00:00') AND (orders.pay_time <= '2021-06-18 23:59:59') AND (orders.create_time >= 1623974400)
Comment From: github-actions[bot]
This issue has been automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days
Comment From: vincentzhwg
have solution ??
Comment From: xiaziheng98
I meet the same question ,with a long word on sql world "in" have solution ??
Comment From: wangdongpei
来信收到
Comment From: wangdongpei
我是在阿里的adb中遇到这个问题的,mysql中正常,gorm里面有一个把结构体查询转换成sql命令的方法叫做trydo还是什么来着,然后用sql命令调用就正常了,你可以试一下能否解决问题
Comment From: jinzhu
and don't use goroutine for transaction.
Comment From: xiaziheng98
我是在阿里的adb中遇到这个问题的,mysql中正常,gorm里面有一个把结构体查询转换成sql命令的方法叫做trydo还是什么来着,然后用sql命令调用就正常了,你可以试一下能否解决问题
多谢回答
Comment From: wangdongpei
解决了吗
Comment From: xiaziheng98
解决了吗
解决了,我也是用gorm在阿里adb里遇到的这个问题,in查询数量太多;先从gorm里获取到拼装好的sql语句,然后用go原生sql查询方法调用的
Comment From: wangdongpei
来信收到
Comment From: DreamerLWJ
关于阿里云 ADB MySQL gorm 执行的出现 commands out of sync 的简单解决方案
var res Res
sql := adb.Raw(testSql, ids).ToSQL(func(tx *gorm.DB) *gorm.DB {
return tx
})
err = adb.Raw(sql).Scan(&res).Error
if err != nil {
...
}
比如 testSql 使用 in 条件,而 ids 内容较多,可以使用 ToSQL 拿到执行的 sql,然后再 Raw 一次。 类似的批量 update 如果 batch 稍微多一点使用 gorm 也会报错,也可以使用该解决方案
解决了吗
解决了,我也是用gorm在阿里adb里遇到的这个问题,in查询数量太多;先从gorm里获取到拼装好的sql语句,然后用go原生sql查询方法调用的
Comment From: attson
关于阿里云 ADB MySQL gorm 执行的出现 commands out of sync 的简单解决方案
go var res Res sql := adb.Raw(testSql, ids).ToSQL(func(tx *gorm.DB) *gorm.DB { return tx }) err = adb.Raw(sql).Scan(&res).Error if err != nil { ... }比如 testSql 使用 in 条件,而 ids 内容较多,可以使用 ToSQL 拿到执行的 sql,然后再 Raw 一次。 类似的批量 update 如果 batch 稍微多一点使用 gorm 也会报错,也可以使用该解决方案
解决了吗
解决了,我也是用gorm在阿里adb里遇到的这个问题,in查询数量太多;先从gorm里获取到拼装好的sql语句,然后用go原生sql查询方法调用的
同样阿里云adb. 已解决。报的错是 commands out of sync. Did you run multiple statements at once? 。