通过mysql查询返回除NULL或EMPTY以外的其他东西

 收藏

我试图确定在我的MySQL表中是否存在id。如果不是,我需要返回-1。所以我尝试了IFNULL。但是我仍然空着。

select ifnull(id, -1) as id from docs  where id=3909090 LIMIT 1

我想在这里得到-1。 有什么建议么?

回复
  • You can use NOT EXISTS for this.

    select -1 as id from docs where NOT EXISTS (SELECT * FROM docs WHERE id=3909090 )
    

    NOT EXISTS will return True if a record is not found in the table with that id. Since WHERE condition is true it will print outer query value which is -1.

  • 您应该在IFNULL函数中使用DOCS表的实际COLUMN_NAME。

    但是,您在函数中使用别名

    select ifnull(<coulumn_name>, -1) as id from docs  where id=3909090 LIMIT 1