返回
实用技巧解锁:后端学习开发中的主键自增和日期自动填充
后端
2023-10-09 21:17:52
后端学习开发中,主键自增和日期自动填充是两个常用的功能。本文将通过一个商品管理开发的案例,详细讲解如何实现这两个功能,帮助您轻松掌握这些实用技巧。
前言
通过上一篇文章,我们实现了商品类型的增删改查。但是同时也发现,插入的数据的 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_at
和 updated_at
字段设置为 CURRENT_TIMESTAMP,这样在插入数据时,created_at
字段的值就会自动填充为当前时间,而 updated_at
字段的值也会在更新数据时自动填充为当前时间。
总结
主键自增和日期自动填充是两个常用的功能,可以帮助我们轻松管理数据。通过本文的讲解,您已经掌握了这两个功能的实现方法。希望对您的后端学习开发有所帮助。