精华内容
下载资源
问答
  • CREATE TABLE orderitems ( order_num int(11) NOT NULL, order_item int(11) NOT NULL, prod_id char(10) NOT NULL, quantity int(11) NOT NULL, item_price decimal(8,2) NOT NULL, PRIMARY KEY (order_num,orde.....

    在这里插入图片描述

    在这里插入图片描述

    CREATE TABLE orderitems (
    order_num int(11) NOT NULL,
    order_item int(11) NOT NULL,
    prod_id char(10) NOT NULL,
    quantity int(11) NOT NULL,
    item_price decimal(8,2) NOT NULL,
    PRIMARY KEY (order_num,order_item),
    KEY FK_OrderItems_Products (prod_id),
    CONSTRAINT FK_OrderItems_Orders FOREIGN KEY (order_num) REFERENCES orders (order_num),
    CONSTRAINT FK_OrderItems_Products FOREIGN KEY (prod_id) REFERENCES products (prod_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    在这里插入图片描述

    展开全文
  • !... 请问一下account list表中的acc_id和acc_bankNum设置为联合主键,怎么将该acc_bankNum和user list的acc_bankNum设置为外键 ...(是不是联合主键不能单独一个设置成外键,那么怎么才能设置?还是根本不可以???)
  • mysql已有主键表中新增自增长字段

    千次阅读 热门讨论 2019-09-08 21:11:32
    如标题所示,给数据加自增长字段是很简单的事情,但是如果这个表已经有主键,并且存在数据的情况下,怎么给数据加自增长主键呢?下面咱们来详细说一下这东东。 1、目标需求: (1)数据没有id字段,但是有...

    一、前言

          如标题所示,给数据表加自增长字段是很简单的事情,但是如果这个表已经有主键,并且存在数据的情况下,怎么给数据表加自增长主键呢?下面咱们来详细说一下这个东东。

    1、目标需求:

    (1)数据表没有id字段,但是有个char类型的字段作为主键使用。
    (2)表中没有其他自增长的字段
    (3)但是根据需求,需要重新加上id字段,新加的字段不用是主键,但是这个字段必须是自增长且是唯一字段。
    

    2、数据表结构如下:

    | redeem_code | CREATE TABLE `redeem_code` (
      `code` char(10) NOT NULL,
      `gift_id` int(10) unsigned NOT NULL DEFAULT '0',
      `user_id` bigint(20) unsigned NOT NULL DEFAULT '0',
      PRIMARY KEY (`code`) USING BTREE,
      KEY `idx_gift_id_user_id` (`gift_id`,`user_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT   
    

    二、给数据表加上自增长且唯一索引字段(无数据)

    1、给数据表新增自增字段的前提

          但如果表中已经有了主键,我们要添加其他字段的属性为自增长,那么必须满足条:

    (1)这个字段是int类型
    (2)这个字段带有索引key,最好是unique,不过普通的key也是可以的
    (3)这个字段不能有默认值(因为默认字段是相同的,会影响到unique key的添加)
    

    2、给没有主键的表新增自增长字段

    如果表中没有主键也没有自增长的时候,可以一句话加上去:

    alter table redeem_code change id id int not null auto_increment primary key;
    

          但是如果表已经创建成功,并且设置完主键之后,那么这句话就不会有什么作用,反而会报错,报错信息大概是:数据表中不能存在多个主键。

    3、给已有主键的表新增自增长字段

          这边博主本来是想一句sql就完事的,但根据上面咱们查到的结果,新增的字段必须是有索引的,而索引和新增字段写在一个sql,目前博主只会一种写法,就是在新增字段的时候添加unique key,其他的写法还不知道。因此这边是分句执行的,结果如下:

    alter table redeem_code add id int(10) not Null;   //不要设置default 0,会报错:Invalid default value for ‘id’
    alter table redeem_code add unique idx_id(`id`);   //设置唯一索引,方便加自增长属性
    alter table redeem_code modify column id int(10) not null AUTO_INCREMENT;  //这句执行成功
    

    4、关于重新更改字段的属性问题

          细心的同学应该注意到了,上面最后设置自增长属性的时候,博主对字段的其他属性进行了重新定义,这是为什么呢?

    注意:alter table redeem_code modify column id AUTO_INCREMENT;   //直接执行这句会报错
    

          直接设置id字段的类型为自增长,mysql会报错,具体的报错信息忘记保存了,不过在博主的不断尝试下,发现重新定义字段属性的时候,是可以设置自增长的。

    推测原因:
          推测是因为对于字段加自增长的时候,对于mysql的表结构是有影响的。我们都知道一个数据表中只能有一个自增长列,虽然这个表中有主键code,但这个code是个随机值,mysql每次存储数据,并不会顺序写入数据页,而是随机写入,然后还要不断的移动表数据,适应插入的LRU算法,从而造成性能的浪费。但是如果这个时候,表中有自增长的字段,猜测mysql是会依据这个字段和主键共同进行数据的定位的,所以原来这个字段的属性结构要重新定义,并且也务必要保证自增长的字段是Int类型的。(PS:如果大佬们有更权威的说法,欢迎一起讨论!

    5、查看数据库结构

    ------------------------------------------------------------------------------------+
    | redeem_code | CREATE TABLE `redeem_code` (
      `code` char(10) NOT NULL,
      `gift_id` int(10) unsigned NOT NULL DEFAULT '0',
      `user_id` bigint(20) unsigned NOT NULL DEFAULT '0',
      `id` int(10) NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (`code`) USING BTREE,
      UNIQUE KEY `idx_id` (`id`),
      KEY `idx_gift_id_user_id` (`gift_id`,`user_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT 
    

          OK,这里看到我们已经成功设置新字段id为自增长且是unique key的了。但是设置成功的前提是这个表中没有其他数据。下面我们试一下当有数据的情况下,怎么设置自增长字段。

    三、给数据表加上自增长且唯一索引字段(有数据)

    1、表中新增3行数据,并按照上面方法进行设置

    +---------+---------+---------+----+
    | code    | gift_id | user_id | id |
    +---------+---------+---------+----+
    | 111111  |      11 |     111 |  0 |
    | 2222222 |      22 |     222 |  0 |
    | 333333  |      33 |     333 |  0 |
    +---------+---------+---------+----+
    

          执行到添加unique KEY的时候就报错了,因为是Int类型,而且在我们没有设置默认值的情况下,默认加进去的id都是0,所以重复了,不符合添加unique key的条件。

    2、试试varchar类型字段

    (1)先varchar()类型,后续改为int类型:

    alter table redeem_code add id varchar(10) not Null default '1'; 
    alter table redeem_code add unique idx_id(`id`);  //Duplicate entry '' for key 'idx_id'  
    	还是不行,毕竟多条数据的这个字段的值是相同的。试试普通的index试试
    

    (2)改为普通的key

    alter table redeem_code add id varchar(10) not Null default '1'; 
    alter table redeem_code add index idx_id(`id`);   //普通的key是可以的
     alter table redeem_code modify column id int(10) not null AUTO_INCREMENT;   //成功了,
    

    (3)查看表结构

    | redeem_code | CREATE TABLE `redeem_code` (
      `code` char(10) NOT NULL,
      `gift_id` int(10) unsigned NOT NULL DEFAULT '0',
      `user_id` bigint(20) unsigned NOT NULL DEFAULT '0',
      `id` int(10) NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (`code`) USING BTREE,
      KEY `idx_gift_id_user_id` (`gift_id`,`user_id`) USING BTREE,
      KEY `idx_id` (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT |
    

    主要就是key的类型变了,代表普通的key还是可以的。

    3、使用默认的索引设置

    alter table redeem_code add id varchar(10) not Null default '1';
    alter table redeem_code change id id int(10) not null auto_increment key;     
    

    报错: Multiple primary key defined //如果不用unique key的话,默认是选用pramary key,所以就主键重复了。

    四、其他问题

    1、使用尽可能简洁的sql

    (1)一句sql试试

    alter table redeem_code change  id int(10) not null auto_increment  key;
    

    报错: Unknown column ‘id’ in ‘redeem_code’
    原因:缺少id字段导致的,下面加上id字段就好了。

    (2)两句sql试试

    alter table redeem_code add id varchar(10) not Null default '1'; 
    alter table redeem_code change id id int(10) not null auto_increment unique key;
    

    答案是可以的。。,就是不能放在一句执行完了,必须要分开两句

    2、设置之后,所有表的autoincrememt都是从下一条记录开始增长的。

          这个问题在网上查了挺久的,如果表中无数据或者数据不是很重要(量少)的话,可以先导出来,然后重新插入生成自增长的值。但如果数据量很大怎么办呢?

    个人觉得可行的方案:

    (1) 自动脚本程序,通过程序依次为数据表插入自增的值,但为了防止影响业务,最好是选择夜深人静数据库压力小的时候,可以考虑主从,先更新主库,业务放在从库上。

    (2) 如果想让原来的自动增长就得复制现有表的结构(无id),添加id并加上AUTO_INCREMENT,然后通过循环,添加n条空记录,然后对应先前表的id,依次插入数据。如果跟其他表有关联就比较麻烦了

    3、如果表中有数据,设置自增长和unique怎么办

          其实从上面的测试来看,我们发现在有数据的情况下,分步设置自增长和unique是会报错的,因为在设置新字段的时候,会给每行数据都加一个默认的值,而这些默认值是相同的,所以设置unique key的时候就会报错。

    建议方案:

    (1)先设置自增长和普通的key
    (2)使用程序把新增字段的值都按照顺序添加进去
    (3)当字段的值各不相同的时候,再修改为unique key
    

          当然,这个方案看起来笨笨的,归根结底,还是因为不能把这些sql都总结到一句上去,如果有大佬看到这篇博客,那么请告知怎么一句话设置这个sql,谢谢了!

          完成功能很简单,但是想要弄明白点,就势必要付出时间去测试了。博主这边测试的也不够多,欢迎各位同僚前来探讨,哈哈。

    =========2019/9/9 11:07更新 ========

    2019/9/9 11:07更新:

    大佬的力量果然是惊人的,上午经过另一位大佬的指点,终于得到一条sql就实现了咱们的需求,如下:

    ALTER TABLE `redeem_code` ADD COLUMN `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT AFTER `user_id`,ADD UNIQUE INDEX `unq_id`(`id`);
    

    查看表结构:

    | redeem_code | CREATE TABLE `redeem_code` (
      `code` char(10) NOT NULL,
      `gift_id` int(10) unsigned NOT NULL DEFAULT '0',
      `user_id` bigint(20) unsigned NOT NULL DEFAULT '0',
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      PRIMARY KEY (`code`) USING BTREE,
      UNIQUE KEY `unq_id` (`id`),
      KEY `idx_gift_id_user_id` (`gift_id`,`user_id`) USING BTREE
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT  
    

          经过测试,不管是有没有数据,都可以使用这条sql,直接就加进去了,更重要的是,加进去id字段之后,表中的id是会自己从1开始填充的,这样的话就解决了困境。表数据显示如下:

    +-------+---------+---------+----+
    | code  | gift_id | user_id | id |
    +-------+---------+---------+----+
    | 11111 |       0 |       0 |  1 |
    | 2222  |      22 |       1 |  2 |
    +-------+---------+---------+----+
    
    

          表中原来是有两条数据的,现在新增的id都是自增长的,完美解决了问题。这样比着咱们上面分开写sql不知道高明了多少,哈哈,学到了。本来觉得上面也没有必要存在了,但是毕竟是探索过程,还是留下吧。

    end

    展开全文
  • Computer System Add comments 2010年5月6日更新: 只有真正懂得了这个道理的人, 才算真正理解了...数据库设计, 每一个表都应该有一个字段作为主键. 这个字段一般是自增整数字段, 或者某些数据库支持的自动
      
     
    

    2010年5月6日更新: 只有真正懂得了这个道理的人, 才算真正理解了关系数据库. 如何才算懂得了这个道理? – 即使你有一百个理由要用关联主键, 你也能找到这唯一的一个理由放弃, 改而使用单一字段做主键.

    ——

    在数据库设计中, 每一个表都应该有一个字段作为主键. 这个字段一般是自增整数字段, 或者某些数据库支持的自动产生不重复字符串的字段, 也可以是程序自己产生的唯一标识. 总之, 每一个数据库表都应该有一个单一的字段作为主键.

    使用单一的字段作为表的主键, 有许多优点. 最重要的一条是可以通过一个原子属性(如整数, 字符串)来标识一行记录. 一旦可以方便地标识一行记录, 那么数据的查询, 更新, 删除也都非常简单.

    如果一个表没有主键, 那么必须通过一行记录本身才能标识一行记录. 也就是, 你必须知道一行记录的每一个字段的值, 才能在 SQL 语句中操作这条记录.

    数据库表支持联合主键, 也就是使用表的至少2个字段作为主键. 使用联合主键的缺点和不使用主键的缺点有很大的相似性, 因为当联合主键所使用的字段越多, 联合主键的缺点就越来越趋近于不使用主键, 直到表的所有字段作为主键时, 和不使用主键几乎是完全相同的 – 除了前者不能存在重复行,

    作为主键的字段一般使用自增整数字段, 因为绝大多数关系型数据库管理系统都支持这种字段类型, 而且速度快, 占用空间少. 一个害怕使用自增整数字段作为主键的理由是自增整数会回绕从而导致重复. 但这种担心是没有必要的. 对于最普通的32位无符号整数, 其最大值是在 Mysql 中是 4294967295(43亿) , 如果数据库表以每秒1条的速度保存记录, 那么一天也只能 86400 条(约10万条)记录, 需要 49710 天(约136年)之后才能发生重复. 幸运的是, 绝大多数系统产生数据的速度比这个假设慢得多了. 如果系统产生数据的速度确实足够快速, 则可以使用 64 位的长整型整数.

    如果确实需要联合主键, 则可以使用 UNIQUE 索引来代替. 任何不得不使用联合主键的需求, 都是基于对关系数据库的错误理解而产生的. 并不是要用"单一主键"来覆盖"复合主键"的需求, 而是"在表设计中, 单一主键是必须的, 用联合唯一索引来覆盖’复合主键’的需求".

    一个例子:

    表1: 使用联合主键(只是作为反面例子出现, 它应该被联合唯一索引代替)

    table_a{
        field_a: PK;
        field_b: PK;
        field_…: PK
        field_c;
    }

    表2: 不使用联合主键

    table_b{
        id: PK;
        field_a: UNIQUE;
        field_b: UNIQUE;
        field_…: UNIQUE
        field_c;
    }

    * 联合主键导致数据操作复杂化

    这两种表定义都能反映相同的业务模型. 使用联合主键对保存数据的程序代码影响不大, 情况1通过联合主键保证不会产生重复数据, 但情况2通过联合唯一索引保存不会产生重复数据. 但对查找操作有不良影响, 同时影响到使用了查找功能的更新和删除操作. 考虑查找特定几条记录的情况:

    表1: 查找 (field_a, filed_b, …) = [(1, 2, ...), (1, 3, ...), (2, 4, ...), ...] 这几条记录.
    表2: 查找 id = [1, 2, 3, ...] 这几条记录.

    显然, 表2的描述更简洁, 从而使程序代码和 SQL 语句更简洁. 如果把所有的字段都作为主键, 那么表1就不存在查找特定几条记录的功能了, "因为已经知道, 所以不必再找". 这是一种最极端的联合主键的副作用, 联合主键的字段越多, 就越趋向于这种极端.

    * 联合主键不利于表示"关系"

    联合主键不利于表示"关系", 是因为它会造成不必要的冗余. 考虑有另外两个表, 需要分别关联 table_a 和 table_b:

    table_ac{
        id;
        table_a_field_a;
        table_b_field_b;
        …
    }

    table_bc{
        id;
        table_b_id;
    }

    显然, 不使用联合主键可以减少冗余. 如果使用所有字段作为联合主键, 将变成把 table_a 的数据保存两份, 一份在 table_a, 另一份包含在 table_ac. 个人认为, 联合主键是是关系数据库理论一种概念, 在实际中如果使用是"反关系数据库模型"的, 实际使用应该用联合唯一索引替代.

    展开全文
  • 如何给一个数据库添加主键

    千次阅读 2020-12-03 09:46:06
    (一张有且只能一个主键主键具有唯一性。) CREATE TABLE tb ( id INT IDENTITY(1,1) PRIMARY KEY, name VARCHAR(20) ) 2.创建的时候所有字段后面使用primary key(主键字段列表)来创建主键(如果有多...

    要想给数据库表格增加主键,当然这分为两种情况。
    1你还没建立表格。这时候在create语句中添加即可。

    1.创建表的时候直接在表字段后,跟primary key关键字。(一张表有且只能有一个主键,主键具有唯一性。)
    CREATE TABLE tb
    (
    id INT IDENTITY(1,1) PRIMARY KEY,
    name VARCHAR(20)
    )

    2.在创建表的时候在所有字段后面使用primary key(主键字段列表)来创建主键(如果有多个字段作为主键被称为复合主键)

    *CREATE TABLE table_test(
    id INT NOT NULL,
    name VARCHAR(20) NOT NULL,
    address VARCHAR(20),
    PRIMARY KEY(id)
    );

    复合键这样设置:
    CREATE TABLE table_test(

    user_id INT NOT NULL,

    user_name VARCHAR(20) NOT NULL,

    user_address VARCHAR(20),

    PRIMARY KEY (user_id, user_name)

    );*

    3.在表创建好之后添加主键(表本身没有主键):
    alter table 表名 add primary key(字段列表)

    ALTER TABLE Employees
    ADD CONSTRAINT PK_EmployeesID PRIMARY KEY (EmployeeID)

    给表中没有的字段添加主键:
    ALTER TABLE (表名) ADD id INT(16) NOT NULL
    PRIMARY KEY AUTO_INCREMENT FIRST;

    注:主键必须非空,自增需要自己设置。如下:
    alter table(表名) modify id integer auto_increment

    我们光说了添加主键,那么删除主键怎么搞?
    alter (表名) DROP PRIMARY KEY

    数据库的东西一定要小心去操作,最好有个测试库自己练手,否则。。
    不说了,删库了。 我要跑路了。
    好了,就这些,如果喜欢,就多多关注吧。

    展开全文
  • 外键必须是另一个表主键吗 ?

    千次阅读 2021-05-07 14:13:38
    比如学生表在设计的时候一般可以用学号作为主键,也可设计一个ID字段字段由数据库自动生成且唯一。那么对于班级,一个班级对应多个学生,这个时候对于班级和学生之间的外键就可以用学生的ID做外键。 如下所...
  • SQLSERVER,ORACLE都可以设定多个字段合并为主键。 USE [test] GO /****** Object: Table [dbo].[test3] Script Date: 12/08/2012 14:19:29 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ...
  • 绿色工具里,可以对多个字段打上主键的标识“锁”,但这并不表示拥有了多个主键,而是说这几字段共同构成了主键。当然,他们之间也是有次序的。查看次序可以使用show index from table。会看到Key_Name有多...
  • MySQL如何使非主键字段自增长

    千次阅读 2017-12-10 17:11:50
    由于要求用户注册时使用自己的学号作为自己的账号,所以MySQL数据库中只能将学号(user_id)这个字段设为主键,但是管理的用户的时候用学号的话显然不太方便,于是又增加了一个字段(user_num),并且设为自增长,...
  • 主键

    千次阅读 2014-12-18 09:18:23
    添加或更改主键主键是具有整个表中唯一值的一个字段或一组字段。键值可用于引用整条记录,因为每条记录都具有不同的键值。每个表只能一个主键。 若要设置主键,请设计视图打开。选择要使用的字段...
  • 1、数据库的每张表只能一个主键,不可能有多个主键。 2、所谓的一张多个主键,我们称之为联合主键。  注:联合主键:就是用多个字段一起作为一张主键。 3、主键主键的作用是保证数据的唯一性和完整性...
  • 、背景 ...今天项目新建了一张主键是area_code,程序直接使用mybatis-plus内置的selectById方法进行数据查询,查询时直接报错:运行时异常: Invalid bound statement (not found): ...
  • mysql数据库添加非主键自增字段

    千次阅读 2019-06-16 11:10:46
    前些天项目上遇到一个坑,根据业务要求指定的表中个不为空的自增非主键字段,我直接向表中添加自增的非主键字段时会报错,错误信息如下: 翻译上面错误提示:定义不正确;只能一个自动列,必须将其定义...
  • 刚开始时碰到这个需求时,网上搜索了一下,发现都说不行,得先删除那主键列再重新增加或者先创建一个临时再把数据导过来,其实MYSQL是可以直接修改的。 修改ID字段为自增主键: alter table `test` change `...
  • 一个数据库表只能一个主键,不允许两个主键。但是允许两个字段联合起来设置为主键,这叫联合主键。创建主键的方式如下:12ALTER TABLE 选课表 ADD CONSTRAINT pk_选课 PRIMARY KEY(学号);创建联合主键的...
  • 什么是外键,什么是主键表

    千次阅读 2017-03-17 17:04:42
    1属性有:typeid(主键...1是主键表1的主键字段在表2做外键、而1自己却没有外键2是外键一个依赖1typeid的字段、作为外键、取值必须是其依赖主键表表1中主键字段有的值 ---------------------------
  • 因为主键起始从实现角度来看是一个 唯一 非空 聚类索引, 聚类索引在一个表中只有一个,所以主键只有一个。至于为什么聚类索引在一个表中只有一个是因为聚类索引的数据物理顺序和索引排序方式一致,而物理存储...
  • 一张可以有多少个主键

    万次阅读 多人点赞 2015-10-21 10:20:28
    1、数据库的每张表只能一个主键,不可能有多个主键。 2、所谓的一张多个主键,我们称之为联合主键。  注:联合主键:就是用多个字段一起作为一张主键。 3、主键主键的作用是保证数据的唯一性和完整性...
  • 在表中增加一个字段添加(导入与手动添加)数据的时候将添加的自增长字段赋值给另一个字段。目的是为了兼容之前的数据。 本来打算用trigger写的,只是insert之后再update不能同一张表中,所以就放弃了,不过也...
  • 记录一个hive遇到的很有意思的问题,首先我建了两张临时,最终要把两张关联起来的时候,发现:两张表中的关联字段都是唯一的,关联之后关联字段竟然不唯一了!关联方法用的left join。检验sql如下: SELECT ...
  • 增加主键的sql语句

    万次阅读 2018-01-08 11:46:43
    (一张有且只能一个主键主键具有唯一性。) 2.创建的时候所有字段后面使用primary key(主键字段列表)来创建主键(如果有多个字段作为主键被称为复合主键) 3.在表创建好之后添加主键...
  • mysql 数据表中主键(primary key)的操作

    万次阅读 2015-08-17 11:37:52
    4、每个都应该有一个主键,并且每个表只能一个主键创建主键时,我们可以创建的同时创建主键,当然有时出于疏忽,建好后才发现没有创建主键,这时可以补上。 下面是MYSQL控制台
  • 主键

    千次阅读 2019-10-04 13:13:44
    特点:一个表中只能一个primary key主键 如果有多个字段都作为primary key主键,称为复合主键,必须建立时指定!并且这个复合主键虽然有多个字段,但它仍然代表的是一个主键!对应的字段值不允许有重复,并且...
  • 我想给的另一个字段设置主键,设置成自增从10000开始自增 mysql中只能设置一列为自增长,这一列可以是主键,也可以不是主键,如果不是主键,则必须将其设置为一种键(key,即索引)。 ALTER TABLE `weibo` ADD ...
  • mysql的普通字段,是否也可以设置auto_increment属性? 貌似只有主键才可以设置这自增属性?
  • mysql非主键设置自增字段

    千次阅读 2017-11-14 11:27:56
    数据库建表的时候,设置列自增字段,一般提示该列必须为主键,才能设置自增字段,但是,并非主键才可以设置的。 create table a( id int (11) auto_increment not null, name varchar(20), key(id) ) ...
  • 定义模型类 模型类被定义"应用/models.py"文件。 模型类必须继承自Model类,位于包django.db.models。...django会为创建自动增长的主键列,每个模型只能一个主键列,如果使用选项设置某属性为...
  • mysql 的自增字段只能主键,如果原已经有主键,需要设置自增字段应该怎么做呢?1、alter table bu_staff drop primary key; 先删除主键 id为原表主键2、alter table bu_staff add primary key (face_id,id);...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 139,028
精华内容 55,611
关键字:

在一个表中的主键只能是一个字段