推荐阅读:我凭借这份pdf拿下了蚂蚁金服、字节跳动、小米等大厂的offer
概要
回顾以前写的项目,发现在规范的时候,还是可以做点骚操作的。
假使以后还有新的项目用到了MySQL,那么肯定是要实践一番的。
为了准备,创建测试数据表(建表语句中默认使用utf8mb4以及utf8mb4_unicode_ci,感兴趣的读者可以自行搜索这两个配置):
CREATE TABLE `student` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `no` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '编号', `name` varchar(30) NOT NULL COMMENT '名称', PRIMARY KEY (`id`), UNIQUE KEY `unq_no` (`no`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
插入冲突时更新数据
SQL执行插入时,可能因为种种原因插入失败,比如UNIQUE索引冲突导致插入失败。比如某个不晓得DBA插入了一条错误的学生记录("3