精华内容
下载资源
问答
  • php+mysql创建字段设置主键示例
  • 背景:在创建数据库表时,将id字段设置为了主键,并在其中存放了一些数据,由于设计改变要将该表的主键字段设置为自增型,简单记录一下操作方式。 1.原创建表 CREATE TABLE `t_blog` ( `id` varchar(50) NOT NULL ...

    背景:在创建数据库表时,将id字段设置为了主键,并在其中存放了一些数据,由于设计改变要将该表的主键字段设置为自增型,简单记录一下操作方式。
    1.原创建表

    CREATE TABLE `t_blog` (
      `id` varchar(50) NOT NULL COMMENT '编号',
      `title` varchar(50) NOT NULL COMMENT '博客标题',
      `summary` varchar(50) NOT NULL COMMENT '摘要',
      `clickHit` int(5) NOT NULL DEFAULT '0' COMMENT '查看次数',
      `replyHit` int(5) NOT NULL DEFAULT '0' COMMENT '回复次数',
      `content` varchar(20) DEFAULT NULL COMMENT '博客内容',
      `keyWord` varchar(20) DEFAULT NULL COMMENT '关键字',
      `typeId` varchar(50) DEFAULT NULL COMMENT '博客类型id',
      `releaseDate` datetime DEFAULT NULL COMMENT '发布日期',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='博客信息表';
    

    2.修改主键id为自增字段

    alter table t_blog change id id int(50) auto_increment COMMENT '编号'
    

    3.也可以通过navicat的页面进行操作,但是可能我的版本不支持这样操作,所以还是使用sql更加合适
    在这里插入图片描述

    展开全文
  • 需求: 在mysql数据库中建立字段id自增长; 字段uniquekey不重复; 问题: 在navicat中设置id自增长,uniquekey为主键时报错: Incorrect table definition;...id在索引中设置索引类型任意一个类型,比...

    需求:

    在mysql数据库中建立字段id自增长;
    字段uniquekey不重复;

    问题:

    在navicat中设置id自增长,uniquekey为主键时报错:
    Incorrect table definition;there can be only one auto column and it must be defined as a key

    解决方法:

    id在索引中设置索引类型为任意一个类型,比如normal 或 unique,然后uniquekey就可以设置为主键了。

    Notes

    • 如需多个键唯一的话可以将uniquekey_2在索引中设置索引类型为unique。

    • 联合主键:在navicat中同时选择了iduniquekey后面的主键是联合主键的操作,该操作只有在联合的各键都冲突的情况下才会报错。 故,考虑到id自增,id+uniquekey的组合永远不会冲突,所以就无法达到uniquekey 唯一的目的。

    • 不建议把id设为主键,因为只有主键能作为外键被外部索引。

    区别项primary key(主键)unique(唯一键约束)
    唯一性可以可以
    是否可以为空不可以可以
    允许个数只能有1个允许多个
    是否允许多列组合允许允许
    展开全文
  • navicat非主键字段设置自增

    千次阅读 2021-01-05 15:15:53
    且需要将该两个字段设置为复合主键,再多余设置一个id字段,作为每条数据的编号, 但在设计表时为了每条数据保持唯一性,即除id字段外,A,B属性必不能相同。 故考虑将ab字段设置为复合主键,id字段自增,但会报错...
    目前在接到一个需求设计表时,表中所需字段较少,实际需要字段只需两个(A,B),
    且需要将该两个字段都设置为复合主键,再多余设置一个id字段,作为每条数据的编号,
    但在设计表时为了每条数据保持唯一性,即除id字段外,A,B属性必不能相同。
    故考虑将ab字段设置为复合主键,id字段自增,但会报错,若将id字段设置为主键,
    则无法达到该效果,故做以下设计:
    

    id字段自动递增且设为索引(若要一个字段递增,则该字段必须为索引或主键)
    A,B字段为主键
    具体设计如下图,可满足我自身需求

    1.字段设置在这里插入图片描述
    2.id必须设置为索引:两者都设置才可保存成功
    在这里插入图片描述

    展开全文
  • 但是可以有多个字段组合成一个主键,这就是什么有时候表里什么会有多个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以通过企业管理器进行设置,也可以通过T—Sql语句设置。 alter table ...

    补充一下关于数据库多字段复合主键的设置。

    首先一个表是不能有多个主键的。但是可以有多个字段组合成一个主键,这就是为什么有时候表里为什么会有多个字段都有主键的标志,那是因为他们组合成了一个主键了。
    我们可以通过企业管理器进行设置,也可以通过T—Sql语句设置。

    alter table tablename add constraint pk_name primary key (colname1,colname2)

    企业管理器设置主键时按着CTRL选择字段。

    多字段主键是当所选择的字段在录入信息时,所有字段输入的信息都一样才会起到主键的约束作用。

    比如:在学生信息系统中,将班号和学号连个字段都设为主键,同时向表中输入班号1,卡号123。如果在输入班号1,卡号123,主键才会起到约束的作用。而如果输入卡号1,班号234,或者卡号2,班号123。将不触发主键的约束性。

    展开全文
  • alter table stu add column yid int auto_increment not null,add primary key(yid);
  • 首先说说如何设置主键,...为字段设置自增长的前提是你得有一个字键,如果你没有任何字段的话是不能设置的,然后设置自增长还要注意的是要之前的格式全部打算去。就像这样~ alter table stuinfo modify num i...
  • EF 实体字段设置主键和自增

    千次阅读 2019-10-04 11:58:32
    [Key] //主键 [DatabaseGenerated(DatabaseGeneratedOption.Identity)] //设置自增 public int id { get; set; } [ForeignKey("category")] //外键 public int cate...
  • mysql 将表中的字段为主键的方法

    千次阅读 2016-02-24 11:31:08
    如:将表table_name的add_pkey字段为主键 先删除所有主键 Alter table [table_name] drop primary key; 再添加主键 Alter table [table_name] add primary key(`pkey1`, `pkey2`,`add_pkey`); ...
  • 请问一下account list表中的acc_id和acc_bankNum设置为联合主键,怎么将该表acc_bankNum和user list中的acc_bankNum设置为外键 ![用户表](https://img-ask.csdn.net/upload/201903/06/1551872995_866154.png) !...
  • Django数据库怎么给字段设置主键

    千次阅读 2015-04-10 17:22:00
    null :缺省设置为false.通常不将其用于字符型字段上,比如CharField,TextField上.字符型字段如果没有值会返回空字符串。 blank:该字段是否可以空。如果假,则必须有值 choices:一个用来选择值的2维元组。第...
  • 因为Navicat For SQL Server并不能直接将某个字段自增(一般主键)。只能通过SQLServer自带的数据库图形管理界面添加和修改。 我的Navicat For SQL Server 当前版本12.0.29,情况就是这样。 慢着,先不要走,...
  • alter table tablename modify filedname int(11) auto_increment ,add primary key (filedname);tablename替换表名 ,filedname替换想要设置递增主键字段名,11替换数据长度
  • mysql设置主键字段自增

    千次阅读 2018-04-04 15:19:53
    思路:首先把字段设置为key,然后更改自增;例如:alter table asynch_task ADD KEY comp_index (code);alter table asynch_task modify code BIGINT(20) auto_increment; 
  • ALTER TABLE doorSensorDevice ADD id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST; CREATE TABLE doorSensorDevice ( id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT, deviceId CHAR(40...
  • 查看sql某字段是否为主键

    千次阅读 2014-11-01 15:32:20
    select column_key  from information_schema.columns  where table_schema='数据库名' and table_name='表名' and column_name='字段名'; 返回值“PRI”则为主键返回空这不是
  • 相当于一列的数据复制给另一列 语法 :UPDATE 表名 SET 需要数据的列名 = 被复制的列名 例: UPDATE d_inspection SET sortno = id 需要注意:需要数据的那一列的长度应大于等于 被复制那一列的长度,还有...
  • elasticsearch 主键生成策略以及如何指定
  • 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.....
  • plsql为字段添加自增主键

    千次阅读 2014-10-28 17:28:43
    oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。createtablet_client(idnumber(4)primarykey,pidnumber(4)notnull,namevarchar2(30)notnull,client_idvarchar2(10),client_...
  • 设置主键字段为自动递增时报错ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry ’1′ for key ‘PRIMARY’,需要数据中已存在主键值0的记录,改成不0且不重复的任意数字。...
  • 转自: ...MySQL命令行中(5.6) ALTER TABLE dbname.table ADD UNIQUE (fieldname); 数据库名dbname,表名table,字段名fieldname. ------------------------------------------------...
  • 1,字符串作为主键,去掉自增长...2,多个字段作为联合主键 头部注解如下 @Entity(indexes = {@Index(value = "albumId DESC, mediaId DESC", unique = true)}) 必须设置一个自增长ID,不用管它,实际主键是 "alb...
  • SQL 非主键字段设置为值唯一

    千次阅读 2013-10-29 04:12:00
    alter table se_OrderMain add constraint u_oOrderID unique([oOrderID])

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 356,130
精华内容 142,452
关键字:

怎么把字段设置为主键