【问题标题】:I have an issue in mysql that i have a field id which is auto increment and some other fields我在 mysql 中有一个问题,我有一个自动递增的字段 id 和一些其他字段
【发布时间】:2009-06-20 04:52:14
【问题描述】:

我在 mysql 中有一个问题,我有一个自动递增的字段 id 和一些其他字段。其中 id 字段在输入空值时不应自动递增,而应在输入值时自动递增 在同一行中插入值而不给出空值。

【问题讨论】:

  • 这没有意义。您是否尝试创建一个空行,然后用数据填充它?

标签: php mysql


【解决方案1】:

听起来您需要在自己的代码中自己生成 id 字段的值,而不是让数据库生成它。

如果您在数据库中创建身份字段,数据库将自动创建该字段。通常在保存记录时会发生这种情况,无论是否存在空字段。如果您需要更多控制权,则必须自己生成 id 值。

如果你需要知道下一个id号是什么,可以通过SELECT MAX(id_field);得到它

【讨论】:

  • 如果您使用 MAX(id),请注意,如果您删除行,则可能会重复使用 id。
【解决方案2】:

罗伯特哈维的回答解决了这个问题,但我也建议看看你正在保存什么,看看是否有另一种方法。也许空值应该保存在另一个表中?也许您作为自动增量的列不是主键。

这可能不是方向,但在这种情况下,值得退后一步重新审视。

【讨论】:

    猜你喜欢
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    相关资源
    最近更新 更多