如何在MySQL中设置不使用自增主键(mysql不使用自增主键)


如何在MySQL中设置不使用自增主键?

在MySQL数据库中,主键是用于唯一标识每个记录的一种特殊的索引。许多表都使用自增主键自动生成主键值,但在某些情况下,您可能需要使用不使用自增主键的表。这篇文章将介绍如何在MySQL中设置不使用自增主键。

1. 创建表格

先创建一个表格,我们将使用这个表格来做我们的示例。

CREATE TABLE `example_table` (

`id` INT(11) NOT NULL,

`name` VARCHAR(50) NOT NULL,

`address` VARCHAR(255) NOT NULL

);

在这个例子中,`id` 是表格的一个字段,但是我们并没有在它上面使用 `AUTO_INCREMENT`。这证明这张表格不使用自增主键。

2. 设置唯一字段

为了确保每条记录都唯一且易于识别,我们可以将另一个字段标记为唯一。

ALTER TABLE `example_table`

ADD UNIQUE (`name`);

通过将 `name` 字段标记为唯一,我们可以确保没有两个记录具有相同的 `name` 值。

3. 设置 PRIMARY KEY

由于没有使用自增主键,我们需要将 `id` 字段声明为主键。这可以通过执行以下操作完成:

ALTER TABLE `example_table`

ADD PRIMARY KEY (`id`);

现在,`id` 字段已被声明为主键,可以用它来唯一标识每个记录。

完整代码示例:

CREATE TABLE `example_table` (

`id` INT(11) NOT NULL,

`name` VARCHAR(50) NOT NULL,

`address` VARCHAR(255) NOT NULL,

UNIQUE (`name`)

);

ALTER TABLE `example_table` ADD PRIMARY KEY (`id`);

4. 插入数据

我们现在可以插入数据并测试主键是否正常工作。我们可以插入一些测试数据以确保插入数据的方法的工作原理。

INSERT INTO `example_table` (`id`, `name`, `address`)

VALUES

(1, ‘John’, ‘123 Mn St.’),

(2, ‘Jane’, ‘456 Elm St.’),

(3, ‘Bob’, ‘789 Oak St.’);

接下来,您可以通过执行以下查询来验证数据已被正确插入到表格中:

SELECT * FROM `example_table`;

现在,您知道如何在 MySQL 中创建一个表格并使用不使用自增主键。虽然不是每个项目都需要使用不使用自增主键的表格,但这是一个好的技能,在需要时可以节省时间和解决某些问题。