首页 > 解决方案 > InternalError: (1366, u"Incorrect integer value: Select) Error

问题描述

从 phone_number 返回用户 ID

GET_USER_ID = "SELECT user_id FROM user WHERE phone_number = {};"

我正在尝试运行上述查询并收到此错误:

InternalError: (1366, u"不正确的整数值:'SELECT user_id FROM user WHERE phone_number = 0400001122;' for column 'user_id' at row 1")

当我在 mysql 工作台中运行查询时,它工作正常并返回正确的user_id. 我也一直在研究其他帖子,但其中大多数都是插入问题,并且在某些情况下,它们的 null 值可以解决此问题INSERT

但是,我正在做一个SELECT查询。

我一直在努力解决这个错误,无论如何可以帮助我吗?

标签: pythonmysqlmysql-workbench

解决方案


电话号码值存储在 mysql 表的 varchar 字段中。它以0开头,使用任何以0开头的数字在python编程语言中都被视为八进制数。

请在查询中进行更改并在选择查询中将 phone_number 值作为字符串传递,将解决您的问题。

根据您的输入的示例查询如下:

"SELECT user_id FROM user WHERE phone_number = '0400001122';"

检查这个并享受编码:)!


推荐阅读