Thanks, Konstantin. It would be nice idea, I'll try to check it!
2016年9月28日水曜日 23時00分14秒 UTC+9 Konstantin Khomoutov: > > On Wed, 28 Sep 2016 06:30:05 -0700 (PDT) > Harry <[email protected] <javascript:>> wrote: > > > > In a nutshell, Scan() internally performs several nested type > > > switches based on the type of the Scan destination and what is > > > received from the database (in other words, the driver). > > > > > > As to why the two scans returned values of different types, more > > > information is needed. But since the queries were similar and the > > > dest were the same, you could start by looking at what is stored in > > > the database and what's the int64/[]byte returned. > > > > > These two SQL expect same result. > > > > Field1's type on MySQL is int. > > When returning value as string type, that value is same to int value > > after asserted to int. > > But it's troublesome to handle two different result by placeholder > > added/not added. > > I would take tcpdump / Wireshark, capture the exchange with the server > in both cases and look at what Wireshark's dissectors decode from that > exchange in both cases. If there's some information delivered by the > server along with its response (it should, I'd think), you'll be able > to see how it differs. Alternatively, you should be able to tell any > difference between how the MySQL driver on the Go side handles the > query in both the cases. This one is interesting. Say, the driver > might actually prepare the query behind your back. Or it may do > something weird when escaping the argument when constructing the full > query string if it's not using prepared statements. > > To recap, there are at least two points of interest to look at. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
