Select 查询:错误代码 1292 - 截断了不正确的 DOUBLE 值
Select Query: Error Code 1292 - Truncated incorrect DOUBLE value
我正在尝试通过让用户输入 table 和列中的数据通过 mysql 中的连接器库从 mysql 中的列中检索所有数据=32=]。当我 运行 通过 python 查询时,不会显示任何数据,然后当我通过 Phpmyadmin 运行 查询时,我会得到这些错误:
Warning: #1292 Truncated incorrect DOUBLE value: 'Matisse'
Warning: #1292 Truncated incorrect DOUBLE value: 'Picasso'
Warning: #1292 Truncated incorrect DOUBLE value: 'van Gogh'
Warning: #1292 Truncated incorrect DOUBLE value: 'Deli'
我发现该查询仅适用于基于整数的列,不适用于日期时间或 varchar
列(查询不起作用的 L_Name
是 varchar(25)
.
这里是查询:
SELECT * FROM `artist` WHERE L_Name
查询为 运行 并抛出这些错误后,查询自行更改为:
SELECT * FROM `artist` WHERE 1
这个新查询 return 是整个 table 及其所有列和行,当然我想要的只是 return 单个列。
编辑:为了澄清,运行宁 SELECT * FROM `artist` WHERE L_Name
查询是为 table 调出该列中的整个值列表。这只是一种情况,还有许多其他情况,例如,如果用户想要从 art_show table 中搜索特定记录,然后查看图库位置列中的所有值。
找出解决方案。由于我设置打印语句的方式,我的 Python 有一个问题,它只会打印第一个值。通过更改第 3 行的查询并将打印语句从 print(rec[0]) 更改为 print(rec)
来修复它
def show_entries(table, column):
print(f"Here's the records in the table {table} and the column {column}.")
mycursor.execute(f"SELECT {column} FROM {table}")
myresult = mycursor.fetchall()
for rec in myresult:
print(rec)
我不认为它是问题所在,因为你使用了 varchar,也许检查你的 python 代码?
我正在尝试通过让用户输入 table 和列中的数据通过 mysql 中的连接器库从 mysql 中的列中检索所有数据=32=]。当我 运行 通过 python 查询时,不会显示任何数据,然后当我通过 Phpmyadmin 运行 查询时,我会得到这些错误:
Warning: #1292 Truncated incorrect DOUBLE value: 'Matisse'
Warning: #1292 Truncated incorrect DOUBLE value: 'Picasso'
Warning: #1292 Truncated incorrect DOUBLE value: 'van Gogh'
Warning: #1292 Truncated incorrect DOUBLE value: 'Deli'
我发现该查询仅适用于基于整数的列,不适用于日期时间或 varchar
列(查询不起作用的 L_Name
是 varchar(25)
.
这里是查询:
SELECT * FROM `artist` WHERE L_Name
查询为 运行 并抛出这些错误后,查询自行更改为:
SELECT * FROM `artist` WHERE 1
这个新查询 return 是整个 table 及其所有列和行,当然我想要的只是 return 单个列。
编辑:为了澄清,运行宁 SELECT * FROM `artist` WHERE L_Name
查询是为 table 调出该列中的整个值列表。这只是一种情况,还有许多其他情况,例如,如果用户想要从 art_show table 中搜索特定记录,然后查看图库位置列中的所有值。
找出解决方案。由于我设置打印语句的方式,我的 Python 有一个问题,它只会打印第一个值。通过更改第 3 行的查询并将打印语句从 print(rec[0]) 更改为 print(rec)
来修复它def show_entries(table, column):
print(f"Here's the records in the table {table} and the column {column}.")
mycursor.execute(f"SELECT {column} FROM {table}")
myresult = mycursor.fetchall()
for rec in myresult:
print(rec)
我不认为它是问题所在,因为你使用了 varchar,也许检查你的 python 代码?