189 8069 5689

mysql怎么设置非主键 mysql可以不设置主键吗

问一个很简单的问题,mysql数据库怎么设置ID自动递增但不是主键?

如果你要为  score中,  增加一个 唯一的 自增 id。

因为努力和真诚,有更多的客户和我们聚集在一起,为了共同目标,成都创新互联在工作上密切配合,从创业型企业到如今不断成长,要感谢客户对我们的高要求,让我们敢于面对挑战,才有今天的进步与发展。从网站到重庆小程序开发,软件开发,成都App定制开发,十余年企业网站建设服务经验,为企业提供网站设计,网站托管运营一条龙服务.为企业提供营销型网站,专业公司,原创设计,十余年品质,值得您的信赖.

那么恐怕你要修改表的主键了, 把 那个使用  AUTO_INCREMENT  的   id  设置为主键。

因为 仅仅只定义 AUTO_INCREMENT 是无法处理的。

mysql CREATE TABLE tab (

-   id  INT AUTO_INCREMENT,

-   val VARCHAR(10)

- );

ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

看上上面的例子了么?

我仅仅定义了  id  INT AUTO_INCREMENT。

没有定义为主键。

结果错误提示信息为:

只能有一个自动递增的列, 并且必须要定义为 key.

mysql 如何将一列为非主键属性设置为主键属性?

你使用SQL语句修改呢,还是使用PHPMYADMIN?

在PHPMYADMIN里面非常简单,打开相应的表,修改字段属性,设置为主键既可。如果主键是几个字段的联合,那么就选择新建立索引,索引类型是PREMARYKEY既可。

如果是用SQL语句,那么可以使用下面的SQL语句:

ALERT TABLE tab_name ADD PRIMARY KEY (index_col_name,...);

mysql中如何使一个不是主键的字段自增

按如下方法:

1、创建表

create table t5 

(id int auto_increment,

name varchar(20) primary key,

key(id));

其中name字段是主键,而id字段则是自增字段。

2、试插入数据:

insert into t5 (name) values ('a');

执行结果:

可以看出第一次,id字段为1。

3、插入第二次数据:

insert into t5 (name) values ('b');

执行结果:

第二次插入的为2,这样就实现了自增。

在MySQL中如何设置主键和外键

1.外键的作用,主要有两个:

一个是让数据库自己通过外键来保证数据的完整性和一致性

一个就是能够增加ER图的可读性

2.外键的配置

1)先创建一个主表,代码如下:

#创建表student,并添加各种约束

create table student

(

id int primary key , #主键约束

name varchar(20) , #唯一约束

age int NOT NULL, #非空约束

sex varchar(2) ,

address varchar(20) default '重庆' #默认约束

) ;

再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:

#创建分数表

create table score

(

id int primary key ,

sid int ,

china int ,

history int,

english int,

constraint FK_sid foreign key(sid) references student(id) #通过外键创建链接

) ;

创建外键的方法有很多,其中最常见创建外键的格式是:constraint FK_*** foreign key(**) references 链接的外表

删除外键:

alter table drop foreign key '外键名'.

注意:

只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除

主键是唯一标示这一行的,就好像你的身份证号一样,每个人只有一个,也是唯一能证明你是你的东西。外键是别人执行你的东西。也就是说如果一个人想和你有点关系怎么办,那就要关联起来,怎么关联起来,就通过外键啊

定义主键和外键主要是为了维护关系数据库的完整性,总结一下:

一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。

外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

mysql数据库怎么让id自动增长,但ID不是主键。难道只有ID为主键时,才可以自增的么?

从零蛋娃娃的回复中得到启示,解决问题。

重新表述需求: id自增长,同时需要一个键uniquekey是唯一键。

解决方法就是:

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

或者反过来,id自增长,同时作为主键。 uniquekey在索引中索引类型设置为unique即可。

补充:考虑到主键能设置成外键,所以建议用以上第一种方式。

mysql数据库 不是主键自增长列在映射文件中怎么配置

1、建表时设置主键

create table test(

id int primary key auto_increment,

name varchar(50)

)

2、手动设置主键

进入phpmyadmin页面,表结构选择列主键,操作项AUTO_INCREMENT输入自增起始值。


文章名称:mysql怎么设置非主键 mysql可以不设置主键吗
文章地址:http://jkwzsj.com/article/hjhchs.html

其他资讯