Python 仅更新表上的一行

Python 仅更新表上的一行,python,mysql,Python,Mysql,请注意,我想当我选择Car_number时对应的行会发生变化,但当代码执行所有数据时(所有行都会发生变化) 要限制更新影响一个特定行,必须使用WHERE语句。WHERE必须引用索引列。在大多数情况下,这将是一个UNQIUE键,用于标识特定行 在您的情况下,如果唯一索引是car_编号,则您可以使用以下内容: UPDATE car_info SET XXXX WHERE car_number=YYYY 这将把您的更新查询限制为一行,其中car_number等于YYYY我认为您实际上是在查询中添加一

请注意,我想当我选择Car_number时对应的行会发生变化,但当代码执行所有数据时(所有行都会发生变化)


要限制更新影响一个特定行,必须使用WHERE语句。WHERE必须引用索引列。在大多数情况下,这将是一个UNQIUE键,用于标识特定行

在您的情况下,如果唯一索引是car_编号,则您可以使用以下内容:

UPDATE car_info SET XXXX WHERE car_number=YYYY

这将把您的更新查询限制为一行,其中car_number等于YYYY

我认为您实际上是在查询中添加一个
where
子句,以选择要更新的相关记录。这也意味着您需要对绑定值进行不同的排序:

self.cur.execute('''
    UPDATE car_info SET
        owner_company=%s,
        branch=%s,
        service_mode=%s,
        shaceh_number=%s,
        motor_number=%s,
        fuel_type=%s,
        car_type=%s,
        car_model=%s,
        car_load=%s,
        car_weight=%s,
        car_shape=%s,
        car_color=%s 
    WHERE car_number=%s''',
    (
        owner_company, 
        branch, 
        service_mode, 
        shaceh_number, 
        motor_number, 
        fuel_type, 
        car_type, 
        car_model,
        car_load, 
        car_weight, 
        car_shape, 
        car_color,
        car_number
    )
)

那么,为什么不像documented那样在
UPDATE
查询中添加一个条件呢?谢谢,我已经添加了,结果是:python.exe:File“index.py”,第159行Au niveau de ligne:1 Caractère:7+python您能分享您正在使用的代码吗现在您有了WHERE语句了。self.cur.execute(''更新汽车信息集汽车编号=%s,车主公司=%s,分公司=%s,服务模式=%s,车号=%s,发动机编号=%s,燃料类型=%s,汽车类型=%s,汽车型号=%s,汽车装载=%s,汽车重量=%s,汽车形状=%s,汽车颜色=%s',(车号、车主公司、分公司、服务模式、车号、发动机号、燃油类型、车型、车型、车重、车重、车重、车型、车色)其中车号=%s)和我尝试的:self.cur.execute(''更新汽车信息集汽车号=%s,车主公司=%s,分公司=%s,服务模式=%s,车号=%s,发动机号=%s,燃料类型=%s,汽车类型=%s,汽车型号=%s,汽车载重=%s,汽车重量=%s,汽车形状=%s,汽车颜色=%s,其中汽车号=%s',(车号、车主、公司、分公司、服务模式、车号、发动机号、燃料类型、车型、车型、车重、车重、车重、车型、车色)谢谢,但它不起作用……“SQL语句的参数不够”)mysql.connector.errors.ProgrammingError:没有足够的参数用于SQLstatement@Med:刚刚更新了我的答案,修正了一些拼写错误…现在效果更好了吗?
self.cur.execute('''
    UPDATE car_info SET
        owner_company=%s,
        branch=%s,
        service_mode=%s,
        shaceh_number=%s,
        motor_number=%s,
        fuel_type=%s,
        car_type=%s,
        car_model=%s,
        car_load=%s,
        car_weight=%s,
        car_shape=%s,
        car_color=%s 
    WHERE car_number=%s''',
    (
        owner_company, 
        branch, 
        service_mode, 
        shaceh_number, 
        motor_number, 
        fuel_type, 
        car_type, 
        car_model,
        car_load, 
        car_weight, 
        car_shape, 
        car_color,
        car_number
    )
)