mysql一个自增长和一个联合主键怎么设置
仅仅只定义 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
错误信息也说得很明白了.
只有一个 自动递增的, 并且必须定义 KEY
mysql中如何给已存在的表中字段增设置主键
首先你必须把name的条件改为not nullalter table mytable_
1 alter column name char(1) not null然后可以把原主键删除,再重新增加主键。
alter table mytable_1 drop constraint PK_mytable_1(主键名字)
alter table mytable_1 add constraint PK_mytable_1 primary key(id,name)
mysql主键什么时候不自增
在MySQL中,主键通常是自增的。但是,有一些情况下主键不会自增:
1. 当表中已经存在主键列并且已经定义为主键时,新增的主键值不会自增。
2. 当手动指定主键值时,新插入的记录的主键值不会自增。可以使用INSERT语句的VALUES子句来指定主键的值。
3. 当使用INSERT语句的SELECT子句来从另一个表插入记录时,新插入的记录的主键值不会自增。
4. 当使用REPLACE语句来替换主键已经存在的记录时,新插入的记录的主键值不会自增。
总的来说,主键不是自增的情况是在人为指定主键值的时候。