Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用多个条件更新值_Python_Mysql_Python 3.x_Postgresql_Psycopg2 - Fatal编程技术网

Python 如何使用多个条件更新值

Python 如何使用多个条件更新值,python,mysql,python-3.x,postgresql,psycopg2,Python,Mysql,Python 3.x,Postgresql,Psycopg2,我有下表: id - phone - value 1 - 1234 - null 2 - 4321 - null 3 - 1234 - null 我需要用手机“1234”和max(id)更新“值”列 我多次尝试通过以下查询来实现这一点: cur.execute(“更新在线预订集st1=(%s),具有最大(ID)和电话=(%s)”,(st1,电话)) 但是它说“HAVING”“HAVING处或附近的语法错误”只能在您之前使用GROUP BY时使用 你在找像这样的东西 更新在线预订集

我有下表:

id - phone - value
1  - 1234  - null
2  - 4321  - null
3  - 1234  - null
我需要用手机“1234”和max(id)更新“值”列

我多次尝试通过以下查询来实现这一点:

cur.execute(“更新在线预订集st1=(%s),具有最大(ID)和电话=(%s)”,(st1,电话))


但是它说“HAVING”“

HAVING处或附近的语法错误”只能在您之前使用GROUP BY时使用

你在找像这样的东西


更新在线预订集st1=(%s),其中电话=(%s)按ID描述订单限制1

此查询将仅更新第一行

您应该通过如下子查询过滤
id

UPDATE online_booking 
SET st1 = '*update' 
WHERE id = (
    SELECT max(id)
    FROM online_booking
    WHERE phone = '1234')

谢谢,但我需要用最大ID号更新手机
UPDATE online_booking 
SET st1 = '*update' 
WHERE id = (
    SELECT max(id)
    FROM online_booking
    WHERE phone = '1234')