【问题标题】:Mysql select always returns empty setMysql select总是返回空集
【发布时间】:2015-07-26 01:55:02
【问题描述】:

所以由于某种原因,我的 Mysql 表总是返回一个空集

mysql> show table status like 'test_table';
+-----------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+------------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| Name            | Engine | Version | Row_format | Rows    | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free  | Auto_increment | Create_time         | Update_time | Check_time | Collation          | Checksum | Create_options | Comment |
+-----------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+------------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| test_table      | InnoDB |      10 | Compact    | 1625218 |            749 |  1218363392 |               0 |            0 | 1234173952 |           NULL | 2015-07-25 12:03:40 | NULL        | NULL       | utf8mb4_unicode_ci |     NULL |                |         |
+-----------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+------------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
1 row in set (0.00 sec)

mysql> select * from test_table;
Empty set (0.00 sec)

mysql> 

关于如何调试此问题的任何建议?

这里是创建表

| test_table | CREATE TABLE `test_table` (
  `export_date` bigint(20) DEFAULT NULL,
  `id` int(11) NOT NULL DEFAULT '0',
  `title` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `recommended_age` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `artist_name` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `seller_name` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `company_url` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `support_url` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `view_url` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `artwork_url_large` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `artwork_url_small` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `release_date` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |

【问题讨论】:

标签: mysql


【解决方案1】:

可能是 mySQL 服务器不知道您正在搜索哪个数据库,并且默认使用该表不存在的默认架构?

尝试在数据库名称中使用 USE 动词。 例如:如果您的数据库名为 db1 并且您的表是 mytable。

使用 db1;

SELECT * FROM mytable;

# 从 db1.mytable 中选择

【讨论】:

  • 也试过了,但没有什么不同:(
  • 长期猜测.. select * from test_table where 1;
【解决方案2】:

可能是你的数据没有正确flush到表中,通过以下命令运行flush table,然后再检查。

FLUSH TABLES;

【讨论】:

  • 如何插入数据?
【解决方案3】:

原来这是一个导入问题。我使用 Python 脚本导入了我的数据,并且没有将自动提交设置为 true(该脚本是为旧版本的 MYSQL 编写的)

【讨论】:

  • 我正在帮助一个朋友修复他的代码,他也没有告诉我
猜你喜欢
  • 2012-12-02
  • 1970-01-01
  • 1970-01-01
  • 2020-01-19
  • 2020-07-02
  • 1970-01-01
  • 1970-01-01
  • 2012-07-21
  • 2014-03-04
相关资源
最近更新 更多