【发布时间】:2009-06-20 04:52:14
【问题描述】:
我在 mysql 中有一个问题,我有一个自动递增的字段 id 和一些其他字段。其中 id 字段在输入空值时不应自动递增,而应在输入值时自动递增 在同一行中插入值而不给出空值。
【问题讨论】:
-
这没有意义。您是否尝试创建一个空行,然后用数据填充它?
我在 mysql 中有一个问题,我有一个自动递增的字段 id 和一些其他字段。其中 id 字段在输入空值时不应自动递增,而应在输入值时自动递增 在同一行中插入值而不给出空值。
【问题讨论】:
听起来您需要在自己的代码中自己生成 id 字段的值,而不是让数据库生成它。
如果您在数据库中创建身份字段,数据库将自动创建该字段。通常在保存记录时会发生这种情况,无论是否存在空字段。如果您需要更多控制权,则必须自己生成 id 值。
如果你需要知道下一个id号是什么,可以通过SELECT MAX(id_field);得到它
【讨论】:
罗伯特哈维的回答解决了这个问题,但我也建议看看你正在保存什么,看看是否有另一种方法。也许空值应该保存在另一个表中?也许您作为自动增量的列不是主键。
这可能不是方向,但在这种情况下,值得退后一步重新审视。
【讨论】: