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')