MySQLデータベースをPostgreSQLに移行しています。データベースをPythonスクリプトに接続しているときに、構文エラーが発生します。では、このMySQLクエリをPostgreSQLに変換してください。
select ifnull((select ifnull(run_id,0) from searchbank order by run_id desc limit 0,1),0)
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);
このようなクエリの唯一のポイントは、行がない場合に行がない0
代わりに返すことです。searchbank
SELECT
@Gordonが示すように、外側を削除すると、その効果がキャンセルされ、厳密に間違っています。