`

MySql 主键自动增长

阅读更多
创建数据库,创建表。


mysql> create database ssh2;
Query OK, 1 row affected (0.04 sec)

mysql> use ssh2;
Database changed
mysql> create table user(
    -> id integer primary key,
    -> firstname varchar(200) not null,
    -> lastname varchar(200) not null,
    -> age integer
    -> );
Query OK, 0 rows affected (0.46 sec)




给主键增加一个自增的功能:


mysql> alter table user modify id integer auto_increment ;
Query OK, 1 row affected (0.28 sec)
Records: 1  Duplicates: 0  Warnings: 0



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









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

mysql> alter table user modify id integer auto_increment ;
Query OK, 0 rows affected (0.39 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table user modify id integer default '1';
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table user modify id integer auto_increment ;
Query OK, 1 row affected (0.28 sec)
Records: 1  Duplicates: 0  Warnings: 0






MySql获取系统时间:


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














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

mysql> create table dd(
    -> id int primary key not null auto_increment,
    -> name varchar(20),
    -> time timestamp default current_timestamp
    -> );
Query OK, 0 rows affected (0.10 sec)

mysql> insert into dd(name) values ('fhihgifds');
Query OK, 1 row affected (0.14 sec)

mysql> insert into dd(name) values ('steven');
Query OK, 1 row affected (0.08 sec)

mysql> select * from dd;
+----+-----------+---------------------+
| id | name      | time                |
+----+-----------+---------------------+
|  1 | fhihgifds | 2011-03-27 01:58:46 |
|  2 | steven    | 2011-03-27 01:59:35 |
+----+-----------+---------------------+
2 rows in set (0.08 sec)

mysql> insert into dd(name) values ('anthony');
Query OK, 1 row affected (0.09 sec)

mysql> select * from dd;
+----+-----------+---------------------+
| id | name      | time                |
+----+-----------+---------------------+
|  1 | fhihgifds | 2011-03-27 01:58:46 |
|  2 | steven    | 2011-03-27 01:59:35 |
|  3 | anthony   | 2011-03-27 02:00:07 |
+----+-----------+---------------------+
3 rows in set (0.00 sec)

mysql>


分享到:
评论

相关推荐

    oracle主键自动增长

    ### Oracle主键自动增长知识点详解 #### 一、Oracle序列(Sequence)的使用方法 在Oracle数据库中,并没有像MySQL那样的自动增长字段特性,因此在实际应用中,我们常常需要手动实现这一功能。序列(Sequence)是...

    mysql实现char类型主键自增长

    在MySQL数据库管理中,自增长主键是一种常见的设计模式,主要用于自动为每一行记录生成一个唯一的标识符。然而,这种自增长通常与整型数据类型(如INT)关联,而较少见于字符型数据(如CHAR)。本文将深入探讨如何在...

    mysql取得自动增长的主键值

    ### MySQL获取自动增长的主键值 在MySQL数据库中,自动增长字段是一种非常有用的特性,尤其是在需要为主键分配唯一标识符的情况下。通过设置一个列的`AUTO_INCREMENT`属性,每当向表中插入新记录时,该列的值会自动...

    深入Mysql,SqlServer,Oracle主键自动增长的设置详解

    本文将深入探讨MySQL、SQL Server和Oracle这三种主流数据库系统中主键自动增长的设置方法。 在MySQL中,主键自动增长是通过`auto_increment`关键字实现的。当你创建一个表并定义某个字段为`auto_increment`类型的...

    mysql非主键自增长用法实例分析

    在理解MySQL非主键自增长用法之前,首先需要明确主键和自增长的概念。 **主键(Primary Key)**:在数据库表中,主键是一种特殊类型的字段,它具有唯一性,且不允许有NULL值。主键用来唯一地标识表中的每一行数据,...

    mysql的插入问题 怎么获得自动增长的ID

    在MySQL中,经常需要用到自动增长的ID字段作为表的主键,特别是在频繁进行数据插入操作时。本文将深入探讨以下几个方面: 1. **理解自动增长ID的工作原理** 2. **在删除记录后重新插入时ID的变化情况** 3. **不同...

    mysql把主键定义为自动增长标识符类型

    - 当使用自动增长的主键时,插入数据时可以忽略该字段,MySQL会自动为其生成一个新的值。例如: ```sql INSERT INTO customers (name) VALUES ("name1"), ("name2"); ``` - 在这个例子中,我们仅指定了`name`...

    MyBatis主键自动生成方法.pdf

    在MyBatis中,主键自动生成是一种常见且实用的功能,尤其在与支持自动增加主键的数据库(如MySQL)配合使用时。当我们在插入数据时,有时希望数据库能够自动为新记录生成唯一的主键值,而不是手动指定。MyBatis提供...

    Oracle与Mysql自动增长列(id)的区别

    Oracle 和 MySQL 在处理自动增长列(通常用于主键ID)方面有着显著的差异。自动增长列主要用于确保每个新插入的行都有一个唯一的标识符。在MySQL中,这个过程相对直接,而在Oracle中则需要借助序列(sequence)来实现...

    mysql修改自增长主键int类型为char类型示例

    在MySQL数据库中,主键是表的一个重要组成部分,它用于唯一标识每条记录,并且通常设置为自动增长的整数类型,如INT。然而,在某些业务场景中,可能需要将已有的自增长主键INT类型改为CHAR类型。这通常发生在需要更...

    Go-GoMySQL实现的ID生成服务

    此外,系统的扩展性体现在可以随时增加新的服务实例来应对增长的请求量。由于ID分配主要依赖内存,新增的实例不会立即对数据库造成压力,只有在内存ID耗尽时才触发数据库请求。这种设计允许我们在不影响现有服务的...

    持久化类主键生成策略+例子

    1. **`GenerationType.AUTO`**:这是最常用的策略,具体的生成方式由数据库供应商决定,通常对应于自动增长字段,例如在MySQL中的`AUTO_INCREMENT`。 2. **`GenerationType.IDENTITY`**:此策略适用于支持自动递增...

    hibernate中自动生成主键的办法

    综上所述,Hibernate提供了丰富的主键生成策略,涵盖了从简单的自动增长到复杂的分布式唯一ID生成。开发者应根据具体的应用需求和数据库特性,选择最合适的主键生成策略,以确保系统的稳定性和性能。无论是追求高...

    Hibernate主键生成方式

    这种方式适用于那些支持自动增长字段的数据库,如MySQL和SQL Server。 2. **Increment方式**:`<generator class="increment"/>` 这种方式由Hibernate自己管理主键的递增,而不是依赖数据库。它维护一个全局计数器...

    Mysql数据库操作

    数据库操作文件,包含mysql建表,主键自动增长, 添加数据!

    改DB的结构(由非自动增长改为自动增长)

    在数据库管理中,数据表的主键通常设计为自动增长型,以便于系统自动为新插入的记录生成唯一的标识符。然而,在某些情况下,数据库表的结构可能最初被设计为非自动增长,导致在后期使用中需要进行修改。本文将探讨...

Global site tag (gtag.js) - Google Analytics