【问题标题】:How to create table with Unique Identifier field in MySQL?如何在 MySQL 中创建具有唯一标识符字段的表?
【发布时间】:2012-04-15 22:22:44
【问题描述】:

我正在研究 PHP 和数据库 MySQL。我在 SQL Server 2005 中有两个表,我想将它们移到 MySQL 中。

这两个表包含具有唯一标识符的字段,而 MySQL 没有唯一标识符数据类型。所以我无法将它转换成 MySQL。

请帮我解决这个问题。

【问题讨论】:

    标签: php mysql sql-server database uniqueidentifier


    【解决方案1】:

    我猜您正在寻找如何创建主键?还有自动增量,你可能需要它

    以下是创建表的示例:

    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)的替换
    【解决方案2】:

    我不熟悉 MS SQL 中唯一标识符的具体细节,但您可以使用 MySQL 的 UUID 函数获得所需的内容:

    https://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_uuid

    我会将它放在带有UNIQUE 键的VARCHARCHAR 列中。

    【讨论】:

      【解决方案3】:

      当您更改表格以添加另一个列时,您可以使用“添加唯一”。这将添加一个新列,并确保它不是任何已经存在的列的副本。写成:

      alter table 
      your_table 
      add unique (column_name)
      

      【讨论】:

        【解决方案4】:

        Mysql 具有“唯一”属性。

        欲了解更多信息:http://dev.mysql.com/doc/refman/5.0/en/constraint-primary-key.html

        如果你使用像 MySQLWorkbench 这样的软件,你可以检查一个属性作为主键和唯一性。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • 但问题是唯一标识符是数字和字符的组合。那么我该怎么做呢?
          【解决方案6】:

          【讨论】:

            【解决方案7】:

            我认为您正在寻找 UNIQUE 约束

            以下 SQL 查询在 T 表时在 field1 列上创建 UNIQUE 约束:

            MySQL:

            CREATE TABLE `T` (
                field1 int NOT NULL,
                field2 int,
                UNIQUE (field)
            );
            

            要在表已创建时在field1 列上创建UNIQUE 约束,您可以使用:

            ALTER TABLE T
            ADD UNIQUE (field1);
            

            要命名UNIQUE 约束,并在多个列上定义UNIQUE 约束,您可以使用:

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

            Source

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-01-09
              • 2013-09-09
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-07-03
              • 2018-03-01
              • 1970-01-01
              相关资源
              最近更新 更多