我无法在mysql数据库中插入字符串列表。我一直得到错误“不是所有参数都用在SQL语句中”。我是不是做错了什么
rowval = ['1.0', '2.0','1.5', '1.6', '', '.85']
query_string = 'INSERT INTO table(tech) VALUES (%s)'
cursor.execute(query_string, rowval)
cursor.close()
database.commit()
根据本文,您可以将多个列表作为多行插入到MySQL中:
rowval = ['1.0', '2.0','1.5', '1.6', '', '.85']
data = list(map(lambda x: [x], rowval))
print(data)
"""
should be [['1.0'], ['2.0'], ['1.5'], ['1.6'], [''], ['.85']]
"""
query_string = 'INSERT INTO table(tech) VALUES (%s)'
cursor.execute(query_string, data)
cursor.close()
database.commit()
由于rowval=['1.0','2.0','1.5','1.6','','.85']
,因此在query_string
中应该有如下内容:
VALUES (%s, %s, %s, %s, %s, %s)
或者根据您设置db
的方式,您可以执行以下操作:
query_string = """INSERT INTO DB.<TABLE_NAME> "
"(parameter1, parameter2, parameter3, parameter3, parameter4, parameter5, parameter6) "
"VALUES (%s, %s, %s, %s, %s, %s)"""
或者在您的情况下,如果您不想只进入一列,您可以这样做:
value_for_tech = <SOME_VALUE>
query_string = """INSERT INTO DB.<TABLE_NAME> (tech)"
VALUES (%s)"""
cursor.execute(query_string, value_for_tech)
以下sql查询生成规则:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
问题内容: 我在以下Python代码上收到错误: 错误消息是 你知道为什么吗 问题答案: 参数标记不是。 请注意,所使用的参数标记可能看起来与Python字符串格式中使用的参数标记相同,但关系只是巧合。一些数据库适配器喜欢和使用的参数标记代替。
问题内容: 我正在尝试使用以下语句从表中选择和修剪所有条目: 但是我得到一个错误。有没有一种方法可以返回所有选定的条目,以便在每个字符串的开头和结尾将它们修剪为空白字符? 问题答案: 您需要手动指定每个字符串列: 您的建议还有另一个问题。是表格中每列的占位符,因此修剪会有问题。 使用(提供的代码只是PoC,还有很多改进的空间): 和表功能: 最后的电话: db <>fiddle演示
如题,我知道mybatis可以输出sql语句,但它输出的不是最终的sql语句,而是使用占位符的语句,我想知道mysql最终执行的sql语句,这样也方便排错,有办法可以记录mysql执行的sql语句吗?
问题内容: 我正在尝试构建工厂对象,但是很难找到一种用Java实现它的好方法。 我正在编写的应用程序用于处理各种格式的文件,因此有一个CodecInterface,适用于用于读写文件的所有类。假设它定义了以下方法。这些文件中的每一个都有一个唯一的人工指定的ID字符串,用于对编码器\解码器进行ID识别。 工厂类将具有用于创建这些编解码器类实例的create方法。我想方法签名看起来像这样。 文件名是要
最近我发现你可以用C#: 而不是即: 这可能是一个坏例子,可以用很多其他方式来解决。 是否存在“无语句范围”功能是一种良好实践的模式?
我正在jpa中设置本机查询,但它没有按预期运行并给我异常这是我的查询:
问题内容: 有人可以解释一下为什么我的循环从0变为7吗?我只需要获得前3种情况,但是程序将遍历所有代码。代码位于show()方法中。 问题答案: 因为没有休息。在每种情况下,您都需要break关键字。有关详细说明,请参见switch语句Java教程。 例如 否则,如果上述情况之一被评估为true,则将执行其他情况。
我正在尝试更新名为的数据库中名为的表。该表的主键是。 当我运行以下语句时: 我收到一个错误,上面写着“您正在使用安全更新模式,并且您试图更新一个没有使用键列的WHERE的表。” 我在谷歌上搜索了那个错误消息,大多数回复都是“你必须使用子句或关闭安全模式”。但正如您所看到的,我使用的是子句。如果我有子句,为什么会出现错误? MySQL服务器版本5.6。20