当表为空时,Mysql查询获取下一个id

时间:2015-05-12 12:46:49

标签: mysql

我需要在数据库表中获取下一个id,以便执行此查询

SELECT MAX(`id`) + 1 AS nextId FROM `students`;  

并且它可以工作,但是当表为空时,如果表为空则返回“NULL”,所以任何人都可以帮我这个请 提前致谢

3 个答案:

答案 0 :(得分:5)

您可以使用ISNULL功能:

SELECT ISNULL(MAX(`id`),0) + 1 AS nextId FROM `students`;  

但也许你应该看看AUTO_INCREMENT https://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

在MySql中,该函数称为IFNULL()

答案 1 :(得分:2)

添加条件。一起使用IFISNULL

SELECT IF(ISNULL(id), 1, MAX(`id`) + 1) AS nextId FROM `students`

答案 2 :(得分:1)

以下是您的答案的解决方案,但正如所有人建议的那样,您应该使用自动增量

<RelativeLayout
android:id="@+id/imgSection"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="5"
android:background="@android:color/background_dark">

<TextView
    android:id="@+id/before_combie_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="before combine image"
    android:textColor="@android:color/white"/>

    <ImageView
        android:id="@+id/normalImgView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/maskImgView"
        android:layout_centerInParent="true"
        android:src="@drawable/daffodils"
        android:layout_width="100dp"
        android:layout_height="60dp" />