同时text()创建等效列TEXT。...404: 未找到。当没有找到资源时,这将由Laravel自动返回。 500: 内部服务器错误。理想情况下,你不会明确地返回这个,但如果有意外的中断,这是你的用户将要收到的。 503: 暂停服务。...发送正确的404响应 如果您尝试获取不存在的资源,则会抛出异常,您将收到整个堆栈跟踪,如下所示: ?...认证 在Laravel中有许多实现API身份验证的方法(其中之一是Passport,实现OAuth2的好方法),但在本文中,我们将采用一个非常简化的方法。...绝对有改进的空间 - 您可以使用Passport软件包实现OAuth2 ,集成分页和转换层(我推荐使用Fractal),但是我想通过在Laravel中创建和测试API的基础知识外部包装。
服务器错误代码和消息 服务器错误信息来自下述源文件: · 错误消息信息列在share/errmsg.txt文件中。“%d”和“%s”分别代表编号和字符串,显示时,它们将被消息值取代。...· 错误:1054 SQLSTATE: 42S22 (ER_BAD_FIELD_ERROR) 消息:'%s'中的未知列'%s'。...· 错误:1057 SQLSTATE: 42000 (ER_WRONG_SUM_SELECT) 消息:语句中有sum函数和相同语句中的列。...· 错误:1097 SQLSTATE: HY000 (ER_TOO_BIG_SET) 消息:列%s和SET的字符串过多。...· 错误:2051 (CR_NO_DATA) 消息:在未事先获取行的情况下试图读取列。 · 错误:2052 (CR_NO_STMT_METADATA) 消息:预处理语句不含元数据。
无效连接 1044:当前用户没有访问数据库的权限 1045:不能连接数据库,用户名或密码错误 1048:字段不能为空 1049:数据库不存在 1050:数据表已存在 1051:数据表不存在 1054...错误:1247 SQLSTATE: 42S22 (ER_ILLEGAL_REFERENCE) 消息:引用’%s’不被支持 (%s)。...错误:1273 SQLSTATE: HY000 (ER_UNKNOWN_COLLATION) 消息:未知校对’%s’。...错误:1392 SQLSTATE: HY000 (ER_VIEW_CHECKSUM) 消息:视图文本校验和失败。...错误:1416 SQLSTATE: 22003 (ER_CANT_CREATE_GEOMETRY_OBJECT) 消息:不能从发送给GEOMETRY字段的数据中获取几何对象。
大家可以自己尝试一下,接下来我们要看一下如何使用 token 来进行 api 的登录和认证控制。一般情况下,我们可能会使用 jwt 或者 passport 之类的插件来做这种 api 的认证功能。...加密解密 对于加密来说, Laravel 框架直接使用的就是 OpenSSL 提供的 AES-256 和 AES-128 加密。也就是说,这个默认的加密功能使用的是 对称加密 的形式。...哈希 和上面的 Crypt 加密一样,Hash 门面使用的其实就是 password_hash() 的加密方式,Laravel 也只是对它进行了一个简单的封装。...对于 password_hash() 有疑问的同学也可以移步我们之前学习过的 PHP密码散列算法的学习 https://mp.weixin.qq.com/s/d_qI3GKB-DoNrBNb7r_LaA...总结 今天的内容主要是探讨了一下 Laravel 框架中自带的认证功能和加密相关的内容。其实更多情况下,我们会自己去做 api 形式的接口或者自己去写登录页面和验证的逻辑。
类代码 40:事务回滚 SQLSTATE 值 含义40001 发生了伴随自动回滚的超时或死锁。40003 语句完整性未知。40504 由于系统错误导致工作单元被回滚。...42749 对于 XML 模式来说,已经存在具有相同目标名称空间和模式位置的 XML 模式文档。4274A 在 XML 模式存储库中未找到 XSROBJECT。...类代码 40:事务回滚 SQLSTATE 值 含义 40001 发生了伴随自动回滚的超时或死锁。 40003 语句完整性未知。 40504 由于系统错误导致工作单元被回滚。...42749 对于 XML 模式来说,已经存在具有相同目标名称空间和模式位置的 XML 模式文档。 4274A 在 XML 模式存储库中未找到 XSROBJECT。...42837 不能改变该列,原因是它的属性与当前的列属性不兼容。 42838 检测到无效使用了表空间。 42839 索引和长列不能处于与该表独立的表空间内。
我们通过 hasOne 方法告诉 Laravel User 模型有一个 Passport 。 注意: 所有用于定义关联的方法都有可选的额外参数,你可以在这些参数中定义本地键和外键。...默认情况下,Laravel会假设你在用户模型中定义了 passport_id ,因为你试图创建与 passport 模型的关联。创建迁移文件时也请注意这一点!...因为我们定义了 Passport 的一对一关联和 Invoice 的一对多关联,所以我们可以在 User 模型中使用它们。...在 User 模型的每个实例上,我们都可以得到对应的 Passport 和 Invoice。 <?...举个例子,假设连接的表有 created_at 字段,我们就可以使用 pivot 来获取 created_at 字段。 <?
SELECT 数据查询 基础 显示如何使用简单的`select`语句查询单个表中的数据 使用`SELECT`语句从表或视图获取数据。 表由行和列组成,如电子表格。...SELECT 之后是逗号分隔列或星号(*)的列表,表示要返回所有列。 2. FROM 指定要查询数据的表或视图。 3. JOIN 根据某些连接条件从其他表中获取数据。 4....``` 建议显式获取数据的列,原因如下: 1. 使用星号(*)可能会返回不使用的列的数据。 它在MySQL数据库服务器和应用程序之间产生不必要的I/O磁盘和网络流量。 2....在条件表达式中不能使用字段的别名,否则会出现“ERROR 1054 (42S22): Unknown column”这样的错误提示信息。...即“LIMIT 5 OFFSET 3”意思是获取从第 4 条记录开始的后面的 5 条记录,和“LIMIT 3,5”返回的结果相同。
“salary_check_trigger”,基于员工表 “employees” 的 INSERT 事件,在 INSERT 之前检查将要添加的新员工薪资是否大于他领导的薪资,如果大于领导薪资,则报 sqlstate_value...mgrsalary FROM employees WHERE employee_id = NEW.manager_id; IF NEW.salary > mgrsalary THEN SIGNAL SQLSTATE...这个时候,在进货单头表中的总计数量和总计金额就必须重新计算,否则,进货单头表中的总计数量和总计金额就不等于进货单明细表中数量合计和金额合计了,这就是数据不一致。...我用下面的代码演示一下: mysql> update demo.membermaster set memberdeposit=20 where memberid = 2; ERROR 1054 (42S22...例如:基于子表员工表(t_employee)的 DELETE 语句定义了触发器 t1,而子表的部门编号(did)字段定义了外键约束引用了父表部门表(t_department)的主键列部门编号(did),
NULL 比较的结果都是未知(unknown)。...列名数量必须与列数量相同。 4.关联子查询 在上面的示例中,子查询和外查询之间没有联系,可以单独运行。这种子查询也称为非关联子查询(Non-correlated Subquery)。...d.id ORDER BY e.salary DESC LIMIT 1 ) t ON d.id = t.dept_id; ERROR 1054...(42S22): Unknown column 'd.id' in 'where clause' 该语句失败的原因在于子查询 t 不能引用外查询中的 department 表。...最后和部门表连表查询出每个部门内月薪最高的员工。 7.附录 本文示例用到的员工表(employee)和部门表(deparment)建表与数据如下。
NULL 比较的结果都是未知(unknown)。...列名数量必须与列数量相同。...d.id ORDER BY e.salary DESC LIMIT 1 ) t ON d.id = t.dept_id; ERROR 1054...(42S22): Unknown column 'd.id' in 'where clause' 该语句失败的原因在于子查询 t 不能引用外查询中的 department 表。...最后和部门表连表查询出每个部门内月薪最高的员工。 7.附录 本文示例用到的员工表(employee)和部门表(deparment)建表与数据如下。
另外就是存储函数只能指明一列数据作为结果,而存储过程能够指明多列数据作为结果。 变量定义 如果希望MySQL执行批量插入的操作,那么至少要有一个计数器来计算当前插入的是第几次。...MySQL游标为只读,不可滚动和敏感。 1、只读:无法通过光标更新基础表中的数据。2、不可滚动:只能按照SELECT语句确定的顺序获取行。不能以相反的顺序获取行。...您可以在存储过程,存储函数和触发器中使用MySQL游标。...这里,它指出当 SQLSTATE '02000'出现时,SET done=1 。...SQLSTATE '02000'是一个未找到条件,当REPEAT由于没有更多的行供循环而不能继续时,出现这个条件 DECLARE CONTINUE HANDLER FOR SQLSTATE '02000
GROUP BY关键字分组 SELECT post FROM employee GROUP BY post; 注意:我们按照post字段分组,那么select查询的字段只能是post,想要获取组内的其他相关信息...select post,group_concat(name) from emp group by post having salary > 10000;#错误,分组后无法直接取到salary字段 ERROR 1054...(42S22): Unknown column 'salary' in 'having clause' mysql> select post,group_concat(name) from emp group...SELECT * FROM employee ORDER BY salary ASC; SELECT * FROM employee ORDER BY salary DESC; 按多列排序...匹配任何字符(包括回车和新行) [...] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。 [^...] 负值字符集合。匹配未包含的任意字符。
取每个部门的最高工资 取每个部门的员工数 取男人数和女人数 小窍门:‘每’这个字后面的字段,就是我们分组的依据 #4、大前提: 可以按照任意字段分组,但是分组完毕后,比如group by post,...GROUP BY关键字分组 SELECT post FROM employee GROUP BY post; 注意:我们按照post字段分组,那么select查询的字段只能是post,想要获取组内的其他相关信息...,需要借助函数 GROUP BY关键字和GROUP_CONCAT()函数一起使用 SELECT post,GROUP_CONCAT(name) FROM employee GROUP BY post...select post,group_concat(name) from emp group by post having salary > 10000;#错误,分组后无法直接取到salary字段 ERROR 1054...(42S22): Unknown column 'salary' in 'having clause' mysql> select post,group_concat(name) from emp group
2.2版本的子系统连接,所以可能存在字符转换问题 +394 01629 使用优化提示来选择访问路径 +395 01628 设置了无效的优化提示,原因代码指定了为什么,忽略优化提示 +402 01521 未知的位置...因为指定的缓冲池不允许超高速缓存,GNPCACHE指定被忽略 +2007 01602 因为DB2子系统的参数禁用“提示(hiats)”所以不能指定优化提示 +30100 01558 分布式协议错误被检测到,提供原来的SQLCODE和SQLSTATE...语句中的表和视图命名不合法 -119 42803 HAVING语句中的列的列表与GROUP BY语句中的列列表不匹配 -120 42903 不允许WHERE语句、SET语句、VALUES语句或者SET...-502 24502 在没有关闭游标前不能再次打开游标 -503 42912 因为列在游标的FOR UPDATE OF语句中没有被指定,该游标用于获取该列,所以不能更新该列 -504 34000 不能引用一个游标...因为在现存的视图定义中引用了该函数 -20074 42939 不能建立指定的对象,因为“SYS”是一个保留的前缀 -20100 56059 在被触发的SQL语句中有BIND错误,指定了错误的SQLCODE和SQLSTATE
DML不仅适用于表,还适用于模式和存储程序(过程、函数、触发器和计划的事件) 1.1 MDL简述 为了在并发环境下维护表元数据的数据一致性,在表上有活动事务(显式或隐式)的时候,不可以对元数据进行写入操作...元数据锁的获取不依赖于使用的引擎,无论使用的是设置autocommit=0的MyISAM引擎还是用begin或start transaction语句显示声名的事务,连接都会获取元数据锁。...当前有对表的长时间查询或使用mysqldump/mysqlpump时,执行DDL会被堵住 ③ 显示或者隐式开启事务后未提交或回滚,比如查询完成后未提交或者回滚,DDL会被堵住 ④ 表上有失败的查询事务,比如查询不存在的列,...rows affected (21 min 58.00 sec) Records: 7 Duplicates: 0 Warnings: 0 3.2 场景2: 事务1,开启事务,执行语句报错,其他语句获取到的锁在这个事务提交或回滚之前...,仍然不会释放掉 (1) 现象模拟 事务1 事务2 事务3 begin; update base_code set num2=1 where id=1;——ERROR 1054 (42S22): Unknown
即关系数据库管理系统(Relational Database Management System)的特点: 1.数据以表格的形式出现 2.每行为各种记录名称 3.每列为记录名称所对应的数据域 4.许多的行和列组成一张表单...索引是对数据库表中一列或多列的值进行排序的一种结构。...(42S22): Unknown column 'password' in 'field list' 下面忘记密码有提示怎么操作 mysql > exit; 如果以上操作无法生效,请使用下面忘记mysql...元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。 有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。...JOIN 按照功能大致分为如下三类: INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。 LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
和OBJECT_TYPE列值都为NULL * 2)、OBJECT_INSTANCE_BEGIN列是内存中同步对象的地址。...RETURNED_SQLSTATE:语句执行的SQLSTATE值,此值来自代码区域的语句诊断区域 MESSAGE_TEXT:语句执行的具体错误信息,此值来自代码区域的语句诊断区域 ERRORS:语句执行是否发生错误...如果SQLSTATE值以00(完成)或01(警告)开始,则该列值为0。...其他任何SQLSTATE值时,该列值为1 WARNINGS:语句警告数,此值来自代码区域的语句诊断区域 ROWS_AFFECTED:受该语句影响的行数。...:这三列与其他列结合一起使用,为顶级(未知抽象的语句或者说是父语句)语句和嵌套语句(在存储的程序中执行的语句)提供以下事件信息 对于顶级语句: OBJECT_TYPE = NULL,OBJECT_SCHEMA
命令 介于 和 个参数之间时使用 ORA-00074: 未指定进程 ORA-00075: 在此例程未找到进程 “” ORA-00076: 未找到转储 ORA-00077: 转储 无效 ORA-00078...ORA-12416: 策略 未发现 ORA-12417: 未找到数据库对象 “” ORA-12418: 未找到用户 ORA-12419: 空二进制标签值 ORA-12420: 需要的过程和函数不在策略程序包...ORA-13381: 未找到表: (在网络: 中) ORA-13382: 未找到几何对象元数据 (表: 列: ) (在空间网络: 中) ORA-13383: 网络元数据不一致: ORA-13384:...ORA-13703: 在当前的资料档案库中未找到快照对 [, ], 此快照对是属于 database_id 和 instance_id的。...ORA-14294: 分区数与子分区数不匹配 ORA-14295: 分区列和子分区列之间的列的类型或大小不匹配 ORA-14296: ALTER TABLE EXCHANGE [SUB]PARTITION
这说明它们没有字符集,并且排序和比较基于列值字节的数值值。 BLOB是一个二进制大对象,可以容纳可变数量的数据。...COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值 SUM(col)返回指定列的所有值之和 GROUP_CONCAT(col)...SHA() 计算字符串str的安全散列算法(SHA)校验和 SELECT ENCRYPT('root','salt'); SELECT ENCODE('xufeng','key'); SELECT...'02000' SET done =1; -- SQLSTATE '02000'是一个未找到条件,当REPEAT由于没有更多的行供循环而不能继续时,出现这个条件。...通过OLD,NEW中获取它们的字段内容,方便在触发操作中使用, 下面是对应事件是否支持OLD、NEW的对应关系: 事件 OLD NEW INSERT × √ DELETE
领取专属 10元无门槛券
手把手带您无忧上云