SELECT语句从employee表查询d_id值等于emp_id的记录,并用COUNT(*)计算d_id值相同的记录的条数,最后将计算结果存入count_num中。...SELECT语句从employee表查询num值等于emp_id的记录,并将该记录的name字段的值返回。...例如ERROR 1146 (42S02)中,sqlstate_value值是42S02,mysql_error_code值是1146。...【示例14-6】 下面定义"ERROR 1146 (42S02)"这个错误,名称为can_not_find。...SQLEXCEPTION表示所有没有被SQLWARNING或NOT FOUND捕获的sqlstate_value值。sp_statement表示一些存储过程或函数的执行语句。
SELECT语句从employee表查询d_id值等于emp_id的记录,并用COUNT(*)计算d_id值相同的记录的条数,最后将计算结果存入count_num中。...SELECT语句从employee表查询num值等于emp_id的记录,并将该记录的name字段的值返回。...例如ERROR 1146 (42S02)中,sqlstate_value值是42S02,mysql_error_code值是1146。...【示例6】 下面定义"ERROR 1146 (42S02)"这个错误,名称为can_not_find。...SQLEXCEPTION表示所有没有被SQLWARNING或NOT FOUND捕获的sqlstate_value值。sp_statement表示一些存储过程或函数的执行语句。
1045:不能连接数据库,用户名或密码错误。 1048:字段不能为空。 1049:数据库不存在。 1050:数据表已存在。 1051:数据表不存在。 1054:字段不存在。...sqlstate_value:一个五位数的SQLSTATE代码,用于表示SQL标准的错误或警告类型。...; 这里,处理程序被设置为在SQLSTATE值为’42S02’(表示表或视图不存在)时触发。...1146(也是表示表或视图不存在)。...; SELECT 'An SQL exception occurred, exiting procedure
SELECT语句从employee表查询d_id值等于emp_id的记录,并用COUNT(*)计算d_id值相同的记录的条数,最后将计算结果存入count_num中。...SELECT语句从employee表查询num值等于emp_id的记录,并将该记录的name字段的值返回。...例如ERROR 1146 (42S02)中,sqlstate_value值是42S02,mysql_error_code值是1146。...【示例14-6】 下面定义"ERROR 1146 (42S02)"这个错误,名称为can_not_find。可以用两种不同的方法来定义,代码如下: 1....SQLEXCEPTION表示所有没有被SQLWARNING或NOT FOUND捕获的sqlstate_value值。sp_statement表示一些存储过程或函数的执行语句。
[HY000] [1049] Unknown database 'blog_test1' blog_test1 表并不存在,所以在 new PDO 的时候就已经直接会抛出异常了。...'blog_test.aabbcc' doesn't exist" // } 在上面的测试代码中,我们查询了 aabbcc 这个表,但其实数据库中并不存在这个表。...); // Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'blog_test.aabbcc...'); // Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table...* from aabbcc'); // Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table
// 使用 :name 形式创建一个只进游标的 PDOStatement 对象 $stmt = $pdo->prepare("select * from zyblog_test_user where username...形式创建一个只进游标的 PDOStatement 对象 $stmt = $pdo->prepare("select * from zyblog_test_user where username = ?"...[42S02]: Base table or view not found: 1146 Table 'blog_test.tran_innodb2' doesn't exist 假设这两个表需要同时更新...values ('Joe', 12)"); $pdo->exec("insert into tran_innodb2 (name, age) values ('Joe', 12)"); // 不存在的表...$e->getMessage(), PHP_EOL; // Failed: SQLSTATE[42S02]: Base table or view not found: 1146 Table '
正文内容 错误概述 ERROR 1146 (42S02) 错误表示 MySQL 数据库中缺少指定的表。这可能是由于表名错误、表未创建或表已被删除等原因造成的。...当执行类似以下的 SQL 查询时,您可能会遇到这个错误: SELECT * FROM database.table; 常见原因及解决方法 1. 表名错误 表名错误是最常见的原因之一。...-- 错误的表名 SELECT * FROM database.TableName; -- 正确的表名 SELECT * FROM database.tablename; 2....可以使用以下命令查看当前数据库及其表: SELECT DATABASE(); SHOW TABLES; 4. 确认 SQL 语句的正确性 确保 SQL 语句没有语法错误。...表格总结 技术点 描述 ERROR 1146 (42S02) 错误 表 database.table 在指定的数据库中不存在。
(1) INSERT 语句:用于向已经存在的表或视图中插入新的数据。(2) SELECT 语句:用于查询表或视图中的数据。(3) UPDATE 语句:用于更新表或视图中的数据。...(4) DELETE 语句:用于删除表或视图中的数据。3.数据控制语言数据控制语言( Data Control Language , DCL )用于安全管理,确定哪些用户可以查或修改数据库中的数据。...proNo,proName from product;-- done用来跟踪是否有数据(not found),将值设为1表示找不到数据declare continue handler for not...例如 ERROR 1146(42S02) 中,下面定义“error 1089 (HU123)”这个错误,名称为 can_not_find。...下面是定义处理程序的几种方式,代码如下://方法一:捕获 sqlstate_valuedeclare continue handler for sqlstate '42s02' set @info='can
案例: //方法一:捕获sqlstate_value DECLARE CONTINUE HANDLER FOR SQLSTATE `42s02` SET @info=`NO_SUCH_TABLE`; /...statement_list:表示SQL语句列表,可以包括一个或多个语句。...SHOW CREATE PROCEDURE chapter06.CountProc1 3、从information_schema.Routines表中查看存储过程的信息 SELECT * FROM information_schema.Routines...CONTAINS SQL:表示子程序包含SQL语句,但不包含读或写数据的语句。 NO SQL:表示子程序中不包含SQL语句。 READS SQL DATA:表示子程序中包含读数据的语句。...id FROM stu; DECLARE EXIT HANDLER FOR NOT FOUND CLOSE cur_id; SELECT count(*) INTO count FROM stu; SET
stuId视为输入的临时变量 RETURNS VARCHAR(255) -- 指明返回值类型 RETURN (SELECT name FROM t_student WHERE id = stuId...sp_statement指遇到错误的时候,需要执行的存储过程或存储函数。...DECLARE CONTINUE HANDLER FOR SQLSATTE '42S02' SET @info = 'NO_SUCH_TABLE'; -- 忽略错误值为42S02的SQL异常 DECLARE...FOR 1146; -- 为错误码为1146的错误定义条件 DECLARE CONTINUE HANDLER FOR no_such_table SET @info = 'no_such_table'...最后,数据库表中的数据也是 如果都是正确的SQL,会是什么情况呢?
· 错误:1146 SQLSTATE: 42S02 (ER_NO_SUCH_TABLE) 消息:表'%s.%s'不存在。...· 错误:1349 SQLSTATE: HY000 (ER_VIEW_SELECT_DERIVED) 消息:视图的SELECT在FROM子句中包含子查询。...· 错误:1351 SQLSTATE: HY000 (ER_VIEW_SELECT_VARIABLE) 消息:视图的SELECT包含1个变量或参数。...· 错误:1352 SQLSTATE: HY000 (ER_VIEW_SELECT_TMPTABLE) 消息:视图的SELECT引用了临时表'%s'。...· 错误:1356 SQLSTATE: HY000 (ER_VIEW_INVALID) 消息:视图'%s.%s'引用了无效的表、列、或函数,或视图的定义程序/调用程序缺少使用它们的权限。
,表名是严格区分大小写的,若查询时大小写弄混淆就会直接报错表不存在,现象如下: root@mysqldb 12:33: [test]> show tables; +----------------+...root@mysqldb 12:34: [test]> select * from t1; ERROR 1146 (42S02): Table 'test.t1' doesn't exist root...@mysqldb 12:34: [test]> select * from T2; ERROR 1146 (42S02): Table 'test.T2' doesn't exist root@mysqldb...* from t1; ERROR 1146 (42S02): Table 'test.t1' doesn't exist root@mysqldb 12:47: [test]> select * from...T2; Empty set (0.01 sec) root@mysqldb 12:47: [test]> select * from T1; ERROR 1146 (42S02): Table '
问题描述一 断点恢复ERROR 1146 (42S02) at line 35: Table ‘shang.info’ doesn’t exist [root@localhost opt]# mysqlbinlog...(42S02) at line 35: Table 'shang.info' doesn't exist 解决思路 断点恢复之前进行完全备份 mysql> source /opt/shang.sql;...问题描述二、 完全备份后无法进行数据恢复 ERROR 1146 (42S02): Table ‘shang.shang’ doesn’t exist [root@localhost opt]# mysql...* from shang; '一直报错' ERROR 1146 (42S02): Table 'shang.shang' doesn't exist 解决方案 1、查看备份.sql 具体如下...-- Table structure for table `info` -- DROP TABLE IF EXISTS `info`; '首先判断info表是否存在,如果存在的话才能接一下操作
1051:数据表不存在 1054:字段不存在 1065:无效的SQL语句,SQL语句为空 1081:不能建立Socket连接 1114:数据表已满,不能容纳任何记录 1116:打开的数据表太多...:当前用户无权访问数据表中的字段 1146:数据表不存在 1147:未定义用户对数据表的访问权限 1149:SQL语句语法错误 1158:网络错误,出现读错误,请检查网络连接状况 1159:网络错误...错误:1349 SQLSTATE: HY000 (ER_VIEW_SELECT_DERIVED) 消息:视图的SELECT在FROM子句中包含子查询。...错误:1351 SQLSTATE: HY000 (ER_VIEW_SELECT_VARIABLE) 消息:视图的SELECT包含1个变量或参数。...错误:1352 SQLSTATE: HY000 (ER_VIEW_SELECT_TMPTABLE) 消息:视图的SELECT引用了临时表’%s’。
类代码 20 找不到 CASE 语句的条件 表 15. 类代码 20:找不到 Case 语句的条件 SQLSTATE 值 含义20000 找不到 CASE 语句的条件。...类代码 26 无效 SQL 语句标识 表 21. 类代码 26:无效 SQL 语句标识 SQLSTATE 值 含义26501 标识的语句不存在。 类代码 27 触发的数据更改违例 表 22....42628 在变换定义中多次定义了 TO SQL 或 FROM SQL 变换函数。42629 必须为 SQL 例程指定参数名。...42742 类型表或带类型视图层次结构中已存在同类子表或子视图。42743 在索引扩展名中未找到搜索方法。 42744 在变换组中未定义 TO SQL 或 FROM SQL 变换函数。...42742 类型表或带类型视图层次结构中已存在同类子表或子视图。 42743 在索引扩展名中未找到搜索方法。 42744 在变换组中未定义 TO SQL 或 FROM SQL 变换函数。
: s1.000011 Relay_Log_Pos: 630 Relay_Master_Log_File: master-bin.000004 Slave_IO_Running: Yes Slave_SQL_Running...in set (0.00 sec) mysql> select * from test001.test; ERROR 1146 (42S02): Table 'test001.test' doesn't...2:测试主从都不存在的库同步 ?...man | +-------+------+ [root@mysql-s ~]# mysql -uroot -p -e "select * from test001.test001;" Enter...password: ERROR 1146 (42S02) at line 1: Table 'test001.test001' doesn't exist
1.初识视图 1.视图的概念和作用 什么是视图:是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表。 作用: 简化查询语句:简化用户的查询操作,使查询更加快捷。...SQL SECURITY:可选,用于视图的安全控制。 SQL SECURITY取值有如下2个: DEFINER:默认,由定义者指定的用户的权限来执行。...(默认与SELECT语句查询的列相同) AS:表示视图要执行的操作。 select_statement:一个完整的查询语句,表示从某些表或视图中查出某些满足条件的记录,将这些记录导入视图中。...SELECT * FROM view_goods; ERROR 1146 (42S02) : Table 'shop. view_ goods' doesn't exist 3.视图数据操作 1.添加数据...使用INSERT语句通过视图向基本表添加数据 #创建视图 mysql> CREATE VIEW view_ category AS -> SELECT id, name FROM sh_goods_category
问题描述: 一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!...(42S02): Table 'haun_db.opHistory' doesn't exist mysql> desc opHistory_queue; ERROR 1146 (42S02): Table...'haun_db.opHistory_queue' doesn't exist mysql> desc opHistory_queue_result_log; ERROR 1146 (42S02):...也就是说,mysql设置为不分区大小写后,创建库或表时,不管创建时使用大写字母,创建成功后,都是强制以小写保存!...后来运维同事又将mysql改成不分区大小写设置了,此时mysql都是强制以小写保存的表,所以开发后面再次在程序里引用这张表的时候,就会报错说不存在!
处理思路:可以根据报错信息,进入db,执行SHOW CREATE VIEW view_name\G,查看该view的定义,逐一检查该view的基表,列,或相关函数与用户是否具有相关权限。...考虑重建或删除视图。...处理思路:检查该视图定义,检查字符集,考虑重建或删除视图。...原因二(MySQL 5.5及以下版本可能出现): 表损坏导致该表找不到(InnoDB)。...可能merge的表不存在,或者该表合并的基表包含非MyISAM引擎的表。 处理思路:删除或者重建该MERGE表。
领取专属 10元无门槛券
手把手带您无忧上云