如何在几个条件下更新值

时间:2017-12-30 22:39:59

标签: python mysql python-3.x postgresql psycopg2

我有下表:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input type="file" id="imageUpload" style="margin: 15px 0; display: block;" />
<div id="profile-image-preview"></div>

我需要更新&#34;价值&#34;电话栏&#34; 1234&#34;最大(id)

id - phone - value
1  - 1234  - null
2  - 4321  - null
3  - 1234  - null

我尝试使用以下查询多次执行此操作:

id - phone - value 1 - 1234 - null 2 - 4321 - null 3 - 1234 - *updated

但是它说&#34;语法错误在或附近&#34; HAVING&#34;&#34;

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

只有在之前使用GROUP BY时才能使用HAVING。

您正在寻找类似

的内容

UPDATE online_booking SET st1 = (%s) WHERE phone = (%s) ORDER BY ID DESC LIMIT 1 此查询将仅更新第1行。