昨晚在往
MySQL
数据库中插入一组数据时,出错了!数据库无情了给我报了个错误:ERROR 1365(22012):
Division
by 0;意思是说:你不可以往数据库中插入一个 除数为0的运算的结果。于是乎去谷歌了一番,总算是明白了其中的原因:是因为
MySQL
的sql_mode 模式限制着一些所谓的‘不合法’的操作。
这个sql_mode,简而言之就是:它定义了你
MySQL
应该支持的sql语法,对数据的校验等等。。
如何查看当前数据库使用的sql_mode:
mysql
> select @@sql_mode;
如下是我的数据库当前的模式:
MySQL
服务器能够工作在不同的SQL模式
原文链接:http://www.juzicode.com/archives/2669
错误提示:进行除法运算时,提示Zero
Division
Error:
division
by zero
#juzicode.com/vx:桔子code
lst = [5,4,3,2,1,0]
for l in lst:
b = 10/l
print('l=',l,'b=',b)
l= 5 b= 2.0
l= 4 b= 2.5
l= 3 b= 3.3333333333333335
l= 2 b=
from gmpy2 import lcm , powmod , invert , gcd , mpz
from Crypto.Util.number import getPrime
from sympy import nextprime
from random import randint
p = getPrime(1024)
q = getPrime
有时我们想计算两个字段的比例,但有个别字段的数据为0,那么就会存在分母为0而
报错
。
如果,我们想要分母为0 的时候输出比例为0,那么可以写一个case when
select (case when count(a) = 0 then 0 else count(b)/count(a) end ) as ratio
MySQL
报错
1064 通常表示 SQL 语法错误,具体原因可能包括以下几种情况:
1. 缺少关键字或语句无法识别:例如 SELECT 语句中缺少 FROM 关键字,或者使用了不存在的表名等。
2. 数据类型错误:例如在 INSERT 语句中插入字符串类型的数据时,没有使用引号将其括起来。
3. 语句拼写错误:例如将 WHERE 拼写成了 WHER。
4. 特殊字符错误:例如在 SQL 语句中使用了不允许的特殊字符,如 #、%、* 等。
5. 语句书写顺序错误:例如使用了不正确的语句顺序,例如在 SELECT 语句中将 WHERE 子句写在了 GROUP BY 子句之前。
为了解决这个问题,你可以先检查
报错
信息,找到具体的错误位置和原因,并根据具体情况进行修正。如果无法解决问题,可以将
报错
信息和相关 SQL 语句提供给专业人员寻求帮助。