本文介绍 OceanBase 数据库 MySQL 模式下查询表时表不存在并报 ERROR 1146 错误的处理方法。
问题现象
查询 student 表时,显示表不存在。
obclient> desc student;
ERROR 1146 (42S02): Table 'test.student' doesn't exist
该报错信对应的错误码信息如下:
错误码:ERROR 1146
OceanBase 错误码:5019
兼容 MySQL 错误码:1146
可能原因
在进行表操作时,如果待操作的表不存在,系统就会报错。
解决方法
请参考以下操作,确认表是否存在,再根据需要创建对应的表。
确认当前数据库中该表是否存在。例如:
obclient> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | ordr | +----------------+ 1 row in set确认表不存在时,可以通过
CREATE TABLE来创建需要的表。例如:CREATE TABLE student( id int, name varchar(18), sex char(1), age int, address varchar(200), email varchar(100), date date, PRIMARY KEY (id) );查询需要的表。
obclient> desc student; +---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(18) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | age | int(11) | YES | | NULL | | | address | varchar(200) | YES | | NULL | | | email | varchar(100) | YES | | NULL | | | date | date | YES | | NULL | | +---------+--------------+------+-----+---------+-------+ 7 rows in set