返回

实用技巧解锁:后端学习开发中的主键自增和日期自动填充

后端

后端学习开发中,主键自增和日期自动填充是两个常用的功能。本文将通过一个商品管理开发的案例,详细讲解如何实现这两个功能,帮助您轻松掌握这些实用技巧。

前言

通过上一篇文章,我们实现了商品类型的增删改查。但是同时也发现,插入的数据的 ID 是随机生成的,这不是我们想要的效果。我们希望 ID 能够自动增长,这样才能保证数据的有序性。此外,我们还希望在插入数据时,能够自动填充创建和修改的时间戳。

主键自增

主键自增是指在插入数据时,自动将主键的值增加 1。这可以通过在创建表时,将主键字段的属性设置为 auto_increment 来实现。

CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `type_id` int(11) NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `stock` int(11) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在上面的 SQL 语句中,我们将 id 字段设置为 auto_increment,这样在插入数据时,id 字段的值就会自动增长。

日期自动填充

日期自动填充是指在插入数据时,自动将创建和修改的时间戳填充到相应字段中。这可以通过在创建表时,将字段的属性设置为 CURRENT_TIMESTAMP 来实现。

CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `type_id` int(11) NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `stock` int(11) NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在上面的 SQL 语句中,我们将 created_atupdated_at 字段设置为 CURRENT_TIMESTAMP,这样在插入数据时,created_at 字段的值就会自动填充为当前时间,而 updated_at 字段的值也会在更新数据时自动填充为当前时间。

总结

主键自增和日期自动填充是两个常用的功能,可以帮助我们轻松管理数据。通过本文的讲解,您已经掌握了这两个功能的实现方法。希望对您的后端学习开发有所帮助。