我正在处理PHP和数据库MySQL相关的技术。我有两张SQL Server 2005中的表,想把它们转移到MySQL上。
这两张表包含了唯一标识符字段,而MySQL没有唯一标识符数据类型。因此,我无法将其转换为MySQL。
请帮助我解决这个问题。
这两张表包含了唯一标识符字段,而MySQL没有唯一标识符数据类型。因此,我无法将其转换为MySQL。
请帮助我解决这个问题。
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
UUID
函数来获取所需内容:
https://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid
我建议将其放在一个带有UNIQUE
键的VARCHAR
或CHAR
列中。Mysql有“Unique”属性。
更多信息请参见:http://dev.mysql.com/doc/refman/5.0/en/constraint-primary-key.html
如果您使用MySQLWorkbench等软件,可以将属性设置为主键和唯一。
Mysql
有唯一标识符,您可以使用 unique key
或将字段设为 primary key
当您修改表以添加另一列时,可以使用Add Unique。这将添加一个新列,并确保它不是任何已有列的副本。它的书写方式为:
alter table
your_table
add unique (column_name)
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);