php - 如何在插入新行时不将表的 id 设置为 0

标签 php mysql

我用 PHP OOP 制作了一个 CMS,在这个 CMS 中,网站管理员可以添加、编辑和删除其网站的菜单导航。因此,为了插入新的菜单导航,我对此类进行了编码:

    <?php 
class Navigation
{
    private $db;
    public function __construct()
    {
        $this->db = new Connection();
        $this->db = $this->db->dbConnect();
    }
    public function NewMenu($menu_name,$menu_numbers)
    {
        if(!empty($menu_name)&&!empty($menu_numbers))
        {
            $menu = $this->db->prepare("SELECT menu_name FROM menu_nav WHERE menu_name = ?");
            $menu->bindParam(1,$menu_name);
            $menu->execute();
            if($menu->rowCount() == 1)
            {
                $notice['menu_exists'] = "Your menu already exists";
                // header("Location: addnewmenu.php?menu_name=false");
            }else{
                $ins = $this->db->prepare("INSERT INTO menu_nav (menu_name, menu_items) VALUES (?, ?)");
                $ins->bindParam(1,$menu_name);
                $ins->bindParam(2,$menu_numbers);
                $ins->execute();
                $notice['menu_added'] = "Menu added successfully";
                // header("Location: addnewmenu.php?menu_name=true");
            }
        }
    }
}

它工作完美,并且正确地在表中添加了一个新行,但我想做的是将表的 id (唯一)设置为大于 0 而不是 0 的数字. 例如,您可以在这张图片中看到我的 right_menu 的 id 设置为 0。

print screen

所以我必须手动将其更改为 1。我需要一些代码来自动执行该操作并从 1 开始设置我的导航 id!

那么我该怎么做呢?

最佳答案

只需将 auto_increment 添加到您的 id 列

ALTER TABLE <yourTable> MODIFY id INT NOT NULL AUTO_INCREMENT

关于php - 如何在插入新行时不将表的 id 设置为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45918924/

相关文章:

javascript - 选择后立即上传图片

php - Facebook PHP 抛出异常 "(#803) Some of the aliases you requested do not exist"

MYSQL 加入如果可用

php - 如何运行在数据库中搜索部分关键字的 SQL 查询

php - mysql 在文本字段中搜索 catid

php - 在 Windows 上启用跳过网络时,通过命名管道将 PHP/phpMyAdmin 连接到 MySQL/MariaDB

PHP 变量在 Wordpress 头文件和索引文件中不起作用?

php - 如何在 PHP 中获取最后插入的行值并将其加 1

MySQL 引用不存在的表创建表

php、mysql搜索网站