簡體   English   中英

將MySQL查詢移植到PostgreSQL

[英]Port MySQL query to PostgreSQL

我正在將MySQL數據庫遷移到PostgreSQL。 將數據庫連接到我的Python腳本時,出現一些語法錯誤。 因此,您能否將此MySQL查詢轉換為PostgreSQL:

select ifnull((select ifnull(run_id,0) from searchbank order by run_id desc limit 0,1),0)

Postgres不支持ifnull:

select coalesce((select coalesce(run_id,0)
                 from searchbank
                 order by run_id desc limit 0,1),0
               )

您可能會發現此版本稍微更清晰一些:

select coalesce(max(run_id), 0)
from searchbank

更簡單:

SELECT COALESCE((SELECT max(run_id) FROM searchbank), 0);

這樣的查詢的唯一點是,如果searchbank 沒有行,則返回0而不是返回行。

刪除外部SELECT (例如@Gordon演示)將取消該效果,並且完全是錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM