我正在研究PHP和数据库MySQL。我在SQL Server 2005中有两个表,我想将它们移动到MySQL中。
这两个表包含唯一标识符的字段,而MySQL没有唯一标识符数据类型。所以我无法将其转换为MySQL。
请帮我解决这个问题。
答案 0 :(得分:4)
我猜您正在寻找如何创建主键?还有自动增量,您可能需要
以下是表创建的示例:
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
答案 1 :(得分:3)
我不熟悉MS SQL中唯一标识符的细节,但您可以通过MySQL UUID
函数获得所需内容:
https://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid
我会将其放在VARCHAR
或CHAR
列中,并带有UNIQUE
键。
答案 2 :(得分:1)
当您要更改要添加到另一个列中的表时,可以使用“添加唯一”。这将添加一个新列,并确保它不是任何现有列的副本。它写成:
alter table
your_table
add unique (column_name)
答案 3 :(得分:1)
Mysql具有“唯一”属性。
有关详细信息:http://dev.mysql.com/doc/refman/5.0/en/constraint-primary-key.html
如果您使用MySQLWorkbench之类的软件,则可以将属性检查为主键并且是唯一的。
答案 4 :(得分:1)
Mysql
有唯一标识符,您可以使用 - unique key
或将字段设为primary key
答案 5 :(得分:1)
MySQL知道主键。请阅读手册。 http://dev.mysql.com/doc/refman/4.1/en/constraint-primary-key.html
答案 6 :(得分:0)
我认为您正在寻找 UNIQUE
约束。
在UNIQUE
表中,以下SQL查询在field1
列上创建T
约束:
MySQL:
CREATE TABLE `T` (
field1 int NOT NULL,
field2 int,
UNIQUE (field)
);
要在已经创建表后在UNIQUE
列上创建field1
约束,可以使用:
ALTER TABLE T
ADD UNIQUE (field1);
要命名UNIQUE
约束并在多列上定义UNIQUE
约束,可以使用:
ALTER TABLE T
ADD CONSTRAINT UC_field1_field2 UNIQUE (field1, field2);