MYSQL问题记录
mysql生成guid
SELECT UUID();
自增长id恢复从1开始
1 张三 男 20
2 王五 男 22
3 李四 男 25
4 陈大 男 19
现在我把 autoid=3 和 autoid=4 的两条记录删除
然后我再插入一条数据,例如:
insert into userinfo(autoid,username,sex,age) values('null','春哥','男','27');
但是面临一个问题,编号是从5开始了,而不是接着从3开始.毕竟我 第三条和第四条记录已经删除的了.
使用这条语句:alter table t_Myxiao7 AUTO_INCREMENT 3;
或者:TRUNCATE TABLE t_user ,不过这条语句会删除全部数据,
取分组排序第一
mysql5.7没有开窗函数

jdbc标准url
jdbc:mysql://IP:3306/dbname?generateSimpleParameterMetadata=true&useUnicode=true&characterEncoding=utf8&useSSL=false
&serverTimezone=GMT%2b8
中文保存乱码
jdbc修改
serverTimezone=Asia/Shanghai -- 设置以"上海时区"为准
characterEncoding=utf8 -- 编码转化
serverTimezone=GMT%2b8 --东八区+8小时
jdbc:mysql://IP:3306/testdb?generateSimpleParameterMetadata=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2b8
Mysql时间差8个小时
https://blog.csdn.net/m0_67394006/article/details/124323043
https://m.php.cn/article/485145.html
# vim /etc/my.cnf ##在[mysqld]区域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重启mysql使新时区生效

可以设置jdbc的serverTimezone=GMT%2b8
修改表结构出现异常
Waiting for table metadata lock 出现表锁定的情况,可能事务开启了
解决办法:
https://my.oschina.net/bobwei/blog/2251343
select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx
--删除进程
KILL trx_mysql_thread_id;
sql查询为空返回默认值
SELECT registration_date,formatDate FROM
(
-- 需要查询的数据
SELECT
DISTINCT registration_date,DATE_FORMAT(registration_date,'%Y年%m月%d日') 'formatDate'
FROM credite_name_list
UNION
-- 数据为空返回默认
SELECT
IFNULL(MIN(registration_date), DATE_FORMAT(NOW(), '%Y-%m-%d')) AS 'registration_date',
IFNULL(MIN(DATE_FORMAT(registration_date, '%Y年%m月%d日')), DATE_FORMAT(NOW(), '%Y年%m月%d日')) AS 'formatDate'
FROM credite_name_list
)a ORDER BY a.registration_date DESC


表冲突
如果表名称、表字段跟mysql保留字冲突,需要修改添加: ``,不建议表字段跟保留字一样
更改mysql的字符集
在mysql5.7中需要更改字符集,否则中文乱码。8.0就默认utf8
show variables like 'character%'
添加:character-set-server=utf8mb4,重启mysql服务即可

大小写敏感
如果使用Linux 提示表不存在,设置大小写敏感配置在/etc/my.cnf添加lower_case_table_names=1,重启MYSQL服务

浙公网安备 33010602011771号