首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL高级篇-程序出了问题怎么办?

问题场景   先来看个场景:   执行一条插入语句,因为id是主键,没有设置自增,所以在插入的时候我们必须要添加该字段的值,但是上面没有添加就出现了1364的错误提示信息,针对这种情况我们应该怎么处理呢...上图中的 1364是 MySQL_error_code, HY000 是sqlstate_value 错误码 说明 MySQL_error_code 是数值类型错误代码,比如 1364 sqlstate_value...是长度为5的字符串类型错误代码,比如 HY000 案例:定义“Field_Not_Be_NULL”错误名与MySQL中违反非空约束的错误类型是“ERROR 1364 (HY000)”对应。...CONDITION FOR SQLSTATE 'HY000'; 3.定义处理程序   可以为SQL执行过程中发生的某种类型的错误定义特殊的处理程序。...SQLWARNING :匹配所有以01开头的SQLSTATE错误代码;NOT FOUND :匹配所有以02开头的SQLSTATE错误代码;SQLEXCEPTION :匹配所有没有被SQLWARNING或

63220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL索引的一些小细

    (name) values ('yeyz'); ERROR 1364 (HY000): Field 'id' doesn't have a default value 不指定默认值,则会进行提醒...---+------+ 3 rows in set (0.00 sec) 结论: 主键列可以不设置not null和auto_increment选项,但是这种情况下,插入不包含主键列的记录,会提示主键没有默认值...此时,需要单独提供主键的默认值。 如果主键列为int类型,并且包含auto_increment选项,则可以直接插入不包含主键列的记录。 2 主键为多个字段时,是否允许其中一个字段自增?...,没有默认值会报错,如下: mysql >>insert into index_test4 (id) values (7); ERROR 1364 (HY000): Field 'name...4 当字段有null值时,反向查找可能会得到错误结果 看看下面这个例子: mysql >>select * from index_test3; +----+------+ | id | name

    53520

    MySQL:表的约束

    : mysql> insert into myclass(class_name) values('class1'); ERROR 1364 (HY000): Field 'class_room' doesn't...对于default而言,当用户忽略这一列的时候,如果设置了default,则使用默认值;如果没有设置default,则报错。 而对于age列: 下来再来看这个: 为什么还是让插入了呢?...而如果为我们没有在创建表的时候显示声明默认值,MySQL会优化,自动加上默认值为NULL。 四....语法: foreign key (字段名) references 主表(列) 案例: 这样的student只是有外键之名(关联关系),但是没有外键之实(没有约束)。重新创建一个。...外键需要注意: (1)从表和主表的关联关系 (2)产生外键约束 总结: 好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。

    6710

    数据库常见错误码

    ,也没有默认值,那肯定是会出错,返回的错误码是1364,返回的错误信息是xxx字段没有默认值 解决方法:那么给设置一个默认值,或者给另外一个设置一个自增就可以不需要设置了 那么就给id设置一个自增吧 [...] 总结:1364是存在字段没有默认值 4.1054 我们知道这个表的字段是id和name,那我要是插入数据的时候,插入的是不同字段名呢 我插入的字段改成username,运行 [5b34088971982852e1c3813ddf458c5d.png...] 显然失败了,返回的错误码是1054,错误信息是未知列username 解决方法:认真检查输入的字段名,看看是否对应上了 总结:1054是字段名不匹配 5.1062 我们设置的id是主键,主键是唯一标识...刚刚我们插入了一条id为1的数据,那我再插入一条id为1的数据试试 [cb31e744047f146bc671a76af37d7b26.png] 返回的错误码为1062,错误信息是主键有重复内容“1”...解决方法:先看看哪些与数据库原有数据的主键相同,把这个字段的数据更换成数据库没有数据 总结:1062是主键重复 6.1366 我们设置的id是int类型的值,那如果我插入的id的数据不是int类型呢?

    1.2K11

    MySQL数据库表约束详解

    比如下面的null + 1 的值还是null,因为根本没有参加运算。...: mysql> insert into myclass(class_name) values('class1'); ERROR 1364 (HY000): Field 'class_room' doesn't...have a default value 3.默认值 默认值:某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默认值。...:数据在插入的时候不给该字段赋值,就使用默认值 mysql> insert into tt10(name) values('zhangsan'); Query OK, 1 row affected (0.00...自增长的特点: 任何一个字段要做自增长,前提是本身是一个索引(key一栏有值) 自增长字段必须是整数 一张表最多只能有一个自增长 案例: mysql> create table tt21( -> id

    7600

    hhdb数据库介绍(9-21)

    -- 后端连接最后一次使用最大允许间隔时间,超过将校验该连接是否有效 单位:毫秒 -->参数作用:后端连接超过此参数配置的时长没有被使用过,计算节点从连接池获取连接时会先校验该连接的连通性,保证获取到的连接可用...-+---------------+1 row in set (0.00 sec)checkUpdate参数说明:PropertyValue参数值checkUpdate是否可见否参数说明是否拦截对分片字段的更新操作默认值...设置为true的情况,同节点内可以更新,不能更新分片字段路由到不同节点的 ,如跨节点分片字段更新会有如下提示:mysql> update ss set id=13 where a='aa';ERROR...10217 (HY000): update sharding column's value can't change dn.设置为false的情况,更新分片字段可以随意更新,且更新后的数据会自动根据分片规则进行重分配...48:16> update sbtest1 set id=id+1 where k=1;ERROR 1143 (HY000): UPDATE command denied to user 'ztm'@'

    6110

    hhdb数据库介绍(9-25)

    计算节点参数说明idcId & idcNodeHost参数说明:PropertyValue参数值idcId是否可见是参数说明机房ID, 1:中心机房,2:容灾机房默认值0Reload是否生效是PropertyValue...INFORMATION_SCHEMA |+--------------------+1 row in set (0.00 sec)mysql> show databases;ERROR 2013 (HY000...trueReload是否生效是参数作用:该参数可以控制分片表之间的JOIN等,通过关联条件与分片字段的信息,可判断出不是可以直接下发的单库JOIN查询时,相关的JOIN语句是否可执行。...bn_a_jwy为auto分片表,分片字段为id,bn_b_jwy为match分片表,分片字段为a,bn_c_jwy为auto分片表,分片字段为a,三张表的数据量都为2w。...禁用时计算节点会返回错误提示:ERROR 1045 (HY000): Account is locked for user ''目前仅限制3323端口,3325不做限制。

    4720

    Mysql 培训

    emp_dept 中没有的资料也挑出来,没有的就用 NULL 来显示, # 也即显示资料是以左边的 table emp 中的资料为基础 mysql> select a.id,a.name,b.dept_id...1045:不能连接数据库,username或password错误 1048:字段不能为空 1049:数据库不存在 1050:数据表已存在 1051:数据表不存在 1054:字段不存在...1133:数据库用户不存在 1141:当前用户无权訪问数据库 1142:当前用户无权訪问数据表 1143:当前用户无权訪问数据表中的字段 1146:数据表不存在 1147:没有定义用户对数据表的訪问权限...1161:网络错误,写超时,请检查网络连接状况 1062:字段值反复,入库失败 1169:字段值反复,更新记录失败 1177:打开数据表失败 1180:提交事务失败 1181:回滚事务失败...具体请參考MYSQL手冊(各大下载站均有下载) 很多其它具体错误代码 错误名称 / 错误代码 SQL状态 ER_HASHCHK 1000 HY000 ER_NISAMCHK 1001 HY000

    5.7K10
    领券