如何在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 中创建一个表格并使用不使用自增主键。虽然不是每个项目都需要使用不使用自增主键的表格,但这是一个好的技能,在需要时可以节省时间和解决某些问题。