mysql
文章平均质量分 58
caijibiandashen
这个作者很懒,什么都没留下…
展开
-
mysql之GROUP_CONCAT
GROUP_CONCAT函数原创 2022-08-16 20:21:42 · 280 阅读 · 0 评论 -
Mysql异常之- 错误代码: 1005 Can‘t create table ‘XXXX.xxxx‘ (errno: 150)
错误:错误代码: 1005Can't create table 'XXXX.xxxx' (errno: 150)sql-- 收藏表DROP TABLE IF EXISTS collection_table;CREATE TABLE collection_table ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT, `v_id` BIGINT(20) COMMENT 'video_id', `u_id` BIGINT(11) COMMENT 'u原创 2022-05-26 20:07:25 · 2307 阅读 · 0 评论 -
Mysql之 返回主键Id
在使用中间表的时候,需要使用该条数据的主键,但是又不想单独再查询依次数据库,可以通过配置返回该条数据的主键 @Insert("INSERT INTO actors VALUES(NULL, #{name}, #{photoGraph})") int insert(Actor actor);比如这里,如果想要返回主键数据,返回的int类型数据并不是主键,而是改变的行数,那么返回的主键是在哪呢?其实返回主键是存放到Actor 对象当中,但是需要一下配置信息 @Insert("INSERT INTO原创 2022-05-18 22:08:40 · 1313 阅读 · 0 评论 -
异常之 - java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign
异常原因:java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign外键不存在,而添加到表当中2022-05-18 11:17:57.910 ERROR 3936 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispat原创 2022-05-18 21:57:15 · 2422 阅读 · 0 评论 -
Mysql之时间函数DATEDIFF();
DATEDIFF() 返回两个日期之间的时间差DATEDIFF(datepart,startdate,enddate) 返回enddate和startdate差值,可正可负,根据开始和结束的时间关系,其中,datepart是返回的类型,可以是天、周、月等。startdate,enddate 是返回 datetime值或日期格式字符串的表达式。使用SELECT NOW(); -- 2022-05-17 15:26:18SELECT CURDATE();-- 2022-05-17SELECT原创 2022-05-17 15:47:01 · 1426 阅读 · 0 评论 -
Mysql之IGNORE关键字
IGNORE关键字作用:如果在向数据库中增加一条与主键重复的数据,正常情况是会报错的。但是使用IGNORE后,会发出一条警告,数据也不会插入。如果没有重复,就正常插入。使用方法:建表语句DROP TABLE IF EXISTS `employees` ; CREATE TABLE `employees` ( `emp_no` INT(11) NOT NULL, `birth_date` DATE NOT NULL, `first_name` VARCHAR(14) NOT原创 2022-05-05 14:58:02 · 2241 阅读 · 0 评论 -
Mysql之字符串拼接
mysql字符串拼接两种方式,第一种,使用 “+” 进行拼接(错误的方法), 第二种使用Mysql函数CONCAT()等函数。使用 “+”使用“+”进行对数据是加减。不能进行拼接拼接用法:数据表:错误写法:-- 不能用于多列进行拼接SELECT last_name + ' ' + first_name AS Name FROM employees;-- 不能用于单列SELECT last_name + '___P' AS Name FROM employees;"+"的使原创 2022-05-04 11:13:49 · 15531 阅读 · 0 评论 -
Mysql之MVCC
MVCC-多版本并发控制读取数据的时候使用一种类似于快照的方式将数据保存下来,通过readview不同的事物只能看到自己对应可见的版本,提高并发性能。使用条件mysql数据库隔离级别是以下两个:READ COMMITED (读已提交)REPEATABLE READ (可重复读)实现原理Mysql通过隐藏字段、undo log、readview实现MVCC多版本并发控制。隐藏字段InnoDB 存储引擎为每行数据添加了三个 隐藏字段:DB_TRX_ID(6字节):表示最后一原创 2022-05-03 20:45:52 · 698 阅读 · 0 评论 -
mysql之if和when函数
IF表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE ,则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。if语句还可以相互嵌套,如下IF(IF(expr1,expr2,expr3),expr2,expr3)可以多层嵌套使用,多个判断语句题目使用if解决:SELECT device_id, gender, IF(age IS NULL , '其他',原创 2022-05-02 23:15:10 · 7235 阅读 · 0 评论 -
排序的专用窗口函数(mysql添加序号列)
介绍三种用于进行排序的专用窗口函数:用法<窗口函数> OVER ( [PARTITION BY <列清单> ] ORDER BY <排序用列清单> )*其中[ ]中的内容可以忽略题目RANK()在计算排序时,若存在相同位次,会跳过之后的位次。例如,有3条排在第1位时,排序为:1,2,2,4······SELECT emp_no, salary, RANK()OVER(order by salary desc) AS t_rankFROM原创 2022-05-02 22:44:51 · 732 阅读 · 0 评论