如何在MySQL中创建具有唯一标识字段的表?

8
我正在处理PHP和数据库MySQL相关的技术。我有两张SQL Server 2005中的表,想把它们转移到MySQL上。
这两张表包含了唯一标识符字段,而MySQL没有唯一标识符数据类型。因此,我无法将其转换为MySQL。
请帮助我解决这个问题。
7个回答

6
我想你正在寻找如何创建主键?此外,您可能需要使用自动递增。
下面是一个表格创建的示例:
CREATE TABLE `affiliation` (
 `id` bigint(20) NOT NULL AUTO_INCREMENT,
 `affiliate_id` bigint(20) DEFAULT NULL,
 `email_invited` varchar(255) DEFAULT NULL,
 `email_provider` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

我正在寻找MySQL中替代SQL Server的唯一标识符的方法。 - Sachin D

2

1

1

Mysql 有唯一标识符,您可以使用 unique key 或将字段设为 primary key


但问题是唯一标识符是数字和字符的组合。那么我该怎么办呢? - Sachin D

1

1

当您修改表以添加另一列时,可以使用Add Unique。这将添加一个新列,并确保它不是任何已有列的副本。它的书写方式为:

alter table 
your_table 
add unique (column_name)

1
我想你正在寻找“唯一约束”(UNIQUE Constraint)。
下面的SQL查询在表T中的字段field1上创建一个“唯一约束”:
MySQL:
CREATE TABLE `T` (
    field1 int NOT NULL,
    field2 int,
    UNIQUE (field)
);

如果表已经创建,要在field1列上创建一个UNIQUE约束,可以使用以下命令:

ALTER TABLE T
ADD UNIQUE (field1);

为列设置唯一约束并命名,可以使用以下语法:

ALTER TABLE T
ADD CONSTRAINT UC_field1_field2 UNIQUE (field1, field2);

源代码


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接