MySQL: Name primary key in CREATE TABLE statement

前端 未结 4 2026
醉梦人生
醉梦人生 2020-12-20 17:40

How do I set the name of a primary key when creating a table?

For example here I\'m trying to create a primary key with the name \'id\', but this is invalid SQL. Can

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-20 18:11

    You shouldn't specify the column name when you specify the primary key column name directly inline with the column definition, so:

    CREATE TABLE IF NOT EXISTS `default_test` ( 
     `default_test`.`id` SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY  , 
     `default_test`.`name` LONGTEXT NOT NULL 
     );
    

    Alternativly you could do:

      CREATE TABLE IF NOT EXISTS `default_test` ( 
       `default_test`.`id` SMALLINT NOT NULL AUTO_INCREMENT , 
       `default_test`.`name` LONGTEXT NOT NULL ,
        PRIMARY KEY `default_test_id_pkey` (`id`)
       );
    

提交回复
热议问题