我想为添加到我的数据库的每个项目设置一个唯一的ID,类似于Drupal节点.只是不确定在向数据库添加新项目时我怎么知道下一个数字是什么.
MySQL的声明是:
$query = "INSERT INTO `HERDSIRES`(uid, name, color, gender) VALUES ( VALUE of next uid, '$name', '$color', '$gender')";
我想我需要在INSERT之前查询数据库,找出最后一个uid的值然后再加1,然后将其保存到变量中.我不确定这是不是最好的方法.
有什么想法吗?
解决方法:
如果数据库将列设置为autogenerate,则可以在INSERT语句中传递null,MySQL将完成剩下的工作.
例如,在指定了auto_increment的主键列上.
你的将是:
INSERT INTO `HERDSIRES`(uid, name, color, gender)
VALUES ( null, '$name', '$color', '$gender')";
或者你可以完全省略它,因为你无论如何都在枚举字段:
INSERT INTO `HERDSIRES`(name, color, gender)
VALUES ( '$name', '$color', '$gender')";
编辑:以下是如何使用PHP从表中获取最后一个自动生成的ID:
$query = mysql_query('INSERT INTO ...');
$new_row_id = mysql_insert_id();
// do something with $new_row_id
标签:php,mysql,sql
来源: https://codeday.me/bug/20190721/1496874.html