mySQL 中主键值自动增加

时间:2023-03-09 08:31:48
mySQL 中主键值自动增加

转  http://stevenjohn.iteye.com/blog/976397

MySql 主键自动增长

博客分类:

创建数据库,创建表。
  1. mysql> create database ssh2;
  2. Query OK, 1 row affected (0.04 sec)
  3. mysql> use ssh2;
  4. Database changed
  5. mysql> create table user(
  6. -> id integer primary key,
  7. -> firstname varchar(200) not null,
  8. -> lastname varchar(200) not null,
  9. -> age integer
  10. -> );
  11. Query OK, 0 rows affected (0.46 sec)
给主键增加一个自增的功能:
  1. mysql> alter table user modify id integer auto_increment ;
  2. Query OK, 1 row affected (0.28 sec)
  3. Records: 1  Duplicates: 0  Warnings: 0

这样,上面的user表里面的主键,id可以自增了。

给上面的主键id增加默认值和自增功能。

  1. mysql> alter table user modify id integer auto_increment ;
  2. Query OK, 0 rows affected (0.39 sec)
  3. Records: 0  Duplicates: 0  Warnings: 0
  4. mysql> alter table user modify id integer default '1';
  5. Query OK, 0 rows affected (0.16 sec)
  6. Records: 0  Duplicates: 0  Warnings: 0
  7. mysql> alter table user modify id integer auto_increment ;
  8. Query OK, 1 row affected (0.28 sec)
  9. Records: 1  Duplicates: 0  Warnings: 0

MySql获取系统时间:

  1. mysql> alter table user add createtime timestamp default current_timestamp;
  2. Query OK, 2 rows affected (0.17 sec)
  3. Records: 2  Duplicates: 0  Warnings: 0

MySql设置主键不能为空,还要自动增长(这里没有设置默认值,但是默认是1,从1开始增长。),还要得到系统默认日期:

  1. mysql> create table dd(
  2. -> id int primary key not null auto_increment,
  3. -> name varchar(20),
  4. -> time timestamp default current_timestamp
  5. -> );
  6. Query OK, 0 rows affected (0.10 sec)
  7. mysql> insert into dd(name) values ('fhihgifds');
  8. Query OK, 1 row affected (0.14 sec)
  9. mysql> insert into dd(name) values ('steven');
  10. Query OK, 1 row affected (0.08 sec)
  11. mysql> select * from dd;
  12. +----+-----------+---------------------+
  13. | id | name      | time                |
  14. +----+-----------+---------------------+
  15. |  1 | fhihgifds | 2011-03-27 01:58:46 |
  16. |  2 | steven    | 2011-03-27 01:59:35 |
  17. +----+-----------+---------------------+
  18. 2 rows in set (0.08 sec)
  19. mysql> insert into dd(name) values ('anthony');
  20. Query OK, 1 row affected (0.09 sec)
  21. mysql> select * from dd;
  22. +----+-----------+---------------------+
  23. | id | name      | time                |
  24. +----+-----------+---------------------+
  25. |  1 | fhihgifds | 2011-03-27 01:58:46 |
  26. |  2 | steven    | 2011-03-27 01:59:35 |
  27. |  3 | anthony   | 2011-03-27 02:00:07 |
  28. +----+-----------+---------------------+
  29. 3 rows in set (0.00 sec)
  30. mysql>