Thank you for reporting this issue. I'll fix it in next release of mysqlclient
(MySQL-python has not been maintained for these years. Please use mysqlclient. It supports Python 3.) On Fri, Jul 22, 2016 at 3:01 PM, Tian JiaLin <himurakenshi...@gmail.com> wrote: > HI There, > > I'm using MySQLdb as the MySQL client. Recently I got a weird problem of this > library. After looking into it, I suspect the problem may related to the > conversion from unsigned long to PyLongObject. > > Here is the detail, If you are familiar with MySQLdb, the following snippet > is a way to query the data from MySQL: > > > connection = MySQLdb.connect(...) > > connection.autocommit(True) > try: > cursor = connection.cursor() > if not cursor.execute(sql, values) > 0: > return None > row = cursor.fetchone() > finally: > connection.close() > return row[0] > > > Sometimes the return value of execute method would be 18446744073709552000 > even there is no matched data available. I checked the source code of the > library, the underlying implementation is > https://github.com/farcepest/MySQLdb1/blob/master/_mysql.c#L835, > > static PyObject * > _mysql_ConnectionObject_affected_rows( > _mysql_ConnectionObject *self, > PyObject *args) > { > if (!PyArg_ParseTuple(args, "")) return NULL; > check_connection(self); > return > PyLong_FromUnsignedLongLong(mysql_affected_rows(&(self->connection))); > } > > And here is the official doc for mysql_affected_rows > http://dev.mysql.com/doc/refman/5.7/en/mysql-affected-rows.html. > > Let me give a superficial understanding, please correct me if I were wrong. > > In a 64-bit system, the mysql_affected_rows is supposed to return a number of > unsigned long, which means the range should be 0 ~ 2^64 > (18446744073709551616), How could it be possible the function > PyLong_FromUnsignedLongLong return a converted value larger than 2^64, that's > what I don't understand. > > Does anyone have some ideas of it? > > > The versions of the components I used: > > Python: 2.7.6 > MySQL 5.7.11 > MySQLdb 1.2.5 > > > Thanks > -- > https://mail.python.org/mailman/listinfo/python-list -- INADA Naoki <songofaca...@gmail.com> -- https://mail.python.org/mailman/listinfo/python-list