锁是MySQL里面最难理解的知识,但是又无处不在,下面这篇文章主要给大家介绍了关于关于如何查看mysql里面锁的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
View DetailsNOW()函数:返回当前日期和时间。
DATE_SUB(date, INTERVAL expr unit)函数:从给定的日期或时间中减去指定的时间间隔。
DATE_ADD(date, INTERVAL expr unit)函数:在给定的日期或时间上添加指定的时间间隔。
DATE_FORMAT(date, format)函数:将日期或时间格式化为指定的字符串格式。
本文主要介绍博主在以往开发过程中,对于不同业务所对应的 sql 写法进行归纳总结而来。进而分享给大家。
本文所讲述 sql 语法都是基于 MySql 8.0
博主github地址:github.com/wayn111 欢迎大家关注,点个star
连接mysql数据时,本机Server写localhost或10.0.1.33都可以连上,但是局域网其他电脑填10.0.1.33正确的用户名密码就报标题中的错误。解决方法如下:
[mysqld]
default_authentication_plugin=mysql_native_password
在某些特定条件下,从数据库中查寻List数据的时候,需要给每组数据带上一个key序号。具体实现代码如下:
1 2 3 4 5 6 7 |
SELECT (@i:= @i+1) as 'key', c.country_name as countryName, c.country_code as countryCode FROM country c, (SELECT @i:=0) as i |
from:https://blog.csdn.net/weixin_41848005/article/details/123867009
View Details为了避免大小写引发的问题,一种推荐的命名规则是:在定义数据库、表、列的时候全部采用小写字母加下划线的方式,不使用任何大写字母。
在任何系统中可以使用lower_case_tables_name=1。使用该选项的不利之处是当使用SHOW TABLES或SHOW DATABASES时,看不出名字原来是用大写还是小写。
请注意在Unix中如果以前lower_case_tables_name = 0将lower_case_tables_name设置为1之前,重启mysqld之前,必须先将旧的数据库名和表名转换为小写。
这是我们开启了bin-log, 我们就必须指定我们的函数是否是
1 2 3 4 5 |
DETERMINISTIC 不确定的 NO SQL 没有SQl语句,当然也不会修改数据 READS SQL DATA 只是读取数据,当然也不会修改数据 MODIFIES SQL DATA 要修改数据 CONTAINS SQL 包含了SQL语句 |
其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。 在MySQL中创建函数时出现这种错误的解决方法:
1 |
set global log_bin_trust_function_creators=TRUE; |
from:https://blog.csdn.net/zhangtxsir/article/details/105221057
View DetailsMySQL连接字符串里加上了“Allow Zero Datetime=True”,导致错误:
1 |
System.Data.DataException: Error parsing column 15 (ADDDATE= - Object) ---> System.InvalidCastException: 指定的转换无效。 |
纠基原因,这句配置允许零日期后,MySQL与.Net的日期类型是不一样的,导致转换失败。去掉就正常了,默认值是False。
1 |
MySql.Data.Types.MySqlDateTime -> System.DateTime |
View Details
本文实例讲述了MYSQL设置触发器权限的方法,针对权限错误的情况非常实用。具体分析如下: mysql导入数据提示没有SUPER Privilege权限处理,如下所示:
1 |
ERROR 1419 (HY000): You do not have the SUPER Privilege and Binary Logging is Enabled |
导入function 、 trigger 到 MySQL database,报错:
1 |
You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)”. |
原因: function / trigger 中有dangerous statements修改数据库,错误只在启用binary logging选项进行主从复制的服务器上出现。 解决方法如下: 1)导入数据的用户不仅需要CREATE ROUTINE, ALTER ROUTINE, CREATE TRIGGER, ALTER TRIGGER, CREATE FUNCTION 和 ALTER FUNCTION 权限,还需要SUPER privileges 权限,使用超级用户导入数据。 2)让所有用户具有执行类似functions的权限,危险,不推荐,
1 2 3 |
o by specifying it on the server start, like: –log-bin-trust-function-creators=1 o by setting it to 1 through the SET GLOBAL statement, like: mysql> SET GLOBAL log_bin_trust_function_creators = 1; |
3)如果不需要复制,或者是从库,关闭binlog,
1 2 3 4 |
# binary logging – not required for slaves, but recommended #log-bin=mysql-bin # binary logging format – mixed recommended #binlog_format=mixed |
希望本文所述对大家的MySQL数据库设计有所帮助。 from:https://www.jb51.net/article/54635.htm
View Details