首页
学习
活动
专区
工具
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)”对应。...错误类型 也就是条件:SQLSTATE ‘字符串错误码’ :表示长度为5的sqlstate_value类型的错误代码; MySQL_error_code :匹配数值类型错误代码;错误名称 :表示DECLARE...SQLWARNING :匹配所有以01开头的SQLSTATE错误代码;NOT FOUND :匹配所有以02开头的SQLSTATE错误代码;SQLEXCEPTION :匹配所有没有被SQLWARNING或

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

    Laravel 5.4因特殊字段太长导致migrations报错的解决

    前言 本文主要介绍了关于Laravel 5.4因特殊字段太长导致migrations报错的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: laravel 5.4 改变了默认的数据库字符集...MySQL 需要v5.7.7或者更高版本,当你试着在一些MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你会碰到下面这个错误: [IlluminateDatabaseQueryException...] SQLSTATE[42000]: Syntax error or access violati/【php教程_linux常用命令_网络运维技术】/on: 1071 Specified key was...[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes...解决方法 经过查询,我们可以在 AppServiceProvider.php 文件里的 boot 方法里设置一个默认值: <?

    94030

    laravel 学习之路 配置config

    'name' => env('APP_NAME', 'Laravel') 到这里这句代码的意思就很明显了,从 .env 获取 APP_NAME 的值,如果 .env 中不存在 APP_NAME 那就取默认值...其中有一行写了 .env ,它的作用就是告诉 git 忽略 .env 文件,所以如果你去 github 上看别的 laravel 项目的时候你会发现并没有 .env 文件..../config 目录下的数据库的配置 laravel 5.4 以后默认使用 utf8mb4 字符集,utf8mb4 主要是用来支持 emoji 表情的,如果你的本地环境的mysql 低于5.7.7,为了防止在以后使用的过程中报如下错误...[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071...除了数据库还有两个需要改的打开 config/app.php文件把 timezone 改为 PRC ,laravel 默认的时区是 UTC中国的时区是 PRC 如果没有改的话, 那数据库存自动生成的时间会和我们的实际相差

    2.1K10

    MySQL索引的一些小细

    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

    第16章_变量、流程控制与游标

    定义条件使用 DECLARE 语句,语法格式如下: DECLARE 错误名称 CONDITION FOR 错误码(或错误条件) 错误码的说明: MySQL_error_code 和 sqlstate_value...MySQL_error_code 是数值类型错误代码。 sqlstate_value 是长度为 5 的字符串类型错误代码。...例如,在 ERROR 1418 (HY000) 中,1418 是 MySQL_error_code,'HY000’是 sqlstate_value。...错误类型(即条件)可以有如下取值: SQLSTATE '字符串错误码' :表示长度为 5 的 sqlstate_value 类型的错误代码; MySQL_error_code :匹配数值类型错误代码;...SQLWARNING :匹配所有以 01 开头的 SQLSTATE 错误代码; NOT FOUND :匹配所有以 02 开头的 SQLSTATE 错误代码; SQLEXCEPTION :匹配所有没有被

    37710
    领券