mysql表上SQL select*后没有返回数据

mysql表上SQL select*后没有返回数据,mysql,sql,Mysql,Sql,我的目标是从Mysql中的表中提取数据。当我尝试执行select*from table时,我没有得到任何数据。如果我添加一个where子句,那么它将返回数据。我有超过10万个标记名,无法添加到筛选条件中。有人能告诉我为什么会出现这种行为,以及如何在不指定标记名的情况下提取数据吗 添加where子句后的select语句如下: SELECT * FROM ahpvdb.DailyPVInst DailyPVInst_0 WHERE (DailyPVInst_0.TagName IN ( 'UMA-P

我的目标是从Mysql中的表中提取数据。当我尝试执行
select*from table
时,我没有得到任何数据。如果我添加一个
where
子句,那么它将返回数据。我有超过10万个标记名,无法添加到筛选条件中。有人能告诉我为什么会出现这种行为,以及如何在不指定标记名的情况下提取数据吗

添加where子句后的select语句如下:

SELECT *
FROM ahpvdb.DailyPVInst DailyPVInst_0
WHERE
(DailyPVInst_0.TagName IN ( 'UMA-PDIN33'))
AND (DailyPVInst_0.StartTime = {ts '2020-01-01 03:00:00' })
AND (DailyPVInst_0.EndTime = {ts '2025-12-31 03:00:00' })
    CREATE TABLE `DailyPVInst` (
  `RowNum` int(11) NOT NULL COMMENT 'Unique number in result set',
  `TagName` char(56) NOT NULL COMMENT 'Altacs tag name',
  `StartTime` datetime NOT NULL COMMENT 'Requested history start time in GMT(UTC)',
  `EndTime` datetime NOT NULL COMMENT 'Requested history end time in GMT(UTC)',
  `RecFrq` int(11) NOT NULL COMMENT 'Altacs tag recording frequency',
  `Value` double NOT NULL DEFAULT '0' COMMENT 'Tag sample value',
  `TimeStamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Tag sample time',
  `QF1` int(11) NOT NULL DEFAULT '0' COMMENT 'Tag sample quality flag 1',
  `QF2` int(11) NOT NULL DEFAULT '0' COMMENT 'Tag sample quality flag 2',
  PRIMARY KEY (`TagName`,`StartTime`,`EndTime`,`RecFrq`,`RowNum`)
) ENGINE=ALTACSAH DEFAULT CHARSET=utf8 COMMENT='Select * from [Table_Name] where Tagname="ABC" and starttime="2015-01-24 15:20:00" and endtime="2015-01-24 15:30:00" and RecFrq=2;' `VAROPT`='5';
SELECT *
FROM ahpvdb.DailyPVInst DailyPVInst_0
WHERE
(DailyPVInst_0.TagName IN ( select distinct TagName from ahpvdb.DailyPVInst))
AND (DailyPVInst_0.StartTime = {ts '2020-01-01 03:00:00' })
AND (DailyPVInst_0.EndTime = {ts '2025-12-31 03:00:00' })
我的表DDL如下所示:

SELECT *
FROM ahpvdb.DailyPVInst DailyPVInst_0
WHERE
(DailyPVInst_0.TagName IN ( 'UMA-PDIN33'))
AND (DailyPVInst_0.StartTime = {ts '2020-01-01 03:00:00' })
AND (DailyPVInst_0.EndTime = {ts '2025-12-31 03:00:00' })
    CREATE TABLE `DailyPVInst` (
  `RowNum` int(11) NOT NULL COMMENT 'Unique number in result set',
  `TagName` char(56) NOT NULL COMMENT 'Altacs tag name',
  `StartTime` datetime NOT NULL COMMENT 'Requested history start time in GMT(UTC)',
  `EndTime` datetime NOT NULL COMMENT 'Requested history end time in GMT(UTC)',
  `RecFrq` int(11) NOT NULL COMMENT 'Altacs tag recording frequency',
  `Value` double NOT NULL DEFAULT '0' COMMENT 'Tag sample value',
  `TimeStamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Tag sample time',
  `QF1` int(11) NOT NULL DEFAULT '0' COMMENT 'Tag sample quality flag 1',
  `QF2` int(11) NOT NULL DEFAULT '0' COMMENT 'Tag sample quality flag 2',
  PRIMARY KEY (`TagName`,`StartTime`,`EndTime`,`RecFrq`,`RowNum`)
) ENGINE=ALTACSAH DEFAULT CHARSET=utf8 COMMENT='Select * from [Table_Name] where Tagname="ABC" and starttime="2015-01-24 15:20:00" and endtime="2015-01-24 15:30:00" and RecFrq=2;' `VAROPT`='5';
SELECT *
FROM ahpvdb.DailyPVInst DailyPVInst_0
WHERE
(DailyPVInst_0.TagName IN ( select distinct TagName from ahpvdb.DailyPVInst))
AND (DailyPVInst_0.StartTime = {ts '2020-01-01 03:00:00' })
AND (DailyPVInst_0.EndTime = {ts '2025-12-31 03:00:00' })
PS:我也尝试过使用子查询,但没有成功。使用的子查询如下所示:

SELECT *
FROM ahpvdb.DailyPVInst DailyPVInst_0
WHERE
(DailyPVInst_0.TagName IN ( 'UMA-PDIN33'))
AND (DailyPVInst_0.StartTime = {ts '2020-01-01 03:00:00' })
AND (DailyPVInst_0.EndTime = {ts '2025-12-31 03:00:00' })
    CREATE TABLE `DailyPVInst` (
  `RowNum` int(11) NOT NULL COMMENT 'Unique number in result set',
  `TagName` char(56) NOT NULL COMMENT 'Altacs tag name',
  `StartTime` datetime NOT NULL COMMENT 'Requested history start time in GMT(UTC)',
  `EndTime` datetime NOT NULL COMMENT 'Requested history end time in GMT(UTC)',
  `RecFrq` int(11) NOT NULL COMMENT 'Altacs tag recording frequency',
  `Value` double NOT NULL DEFAULT '0' COMMENT 'Tag sample value',
  `TimeStamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Tag sample time',
  `QF1` int(11) NOT NULL DEFAULT '0' COMMENT 'Tag sample quality flag 1',
  `QF2` int(11) NOT NULL DEFAULT '0' COMMENT 'Tag sample quality flag 2',
  PRIMARY KEY (`TagName`,`StartTime`,`EndTime`,`RecFrq`,`RowNum`)
) ENGINE=ALTACSAH DEFAULT CHARSET=utf8 COMMENT='Select * from [Table_Name] where Tagname="ABC" and starttime="2015-01-24 15:20:00" and endtime="2015-01-24 15:30:00" and RecFrq=2;' `VAROPT`='5';
SELECT *
FROM ahpvdb.DailyPVInst DailyPVInst_0
WHERE
(DailyPVInst_0.TagName IN ( select distinct TagName from ahpvdb.DailyPVInst))
AND (DailyPVInst_0.StartTime = {ts '2020-01-01 03:00:00' })
AND (DailyPVInst_0.EndTime = {ts '2025-12-31 03:00:00' })

从上面的评论中,您说ALTACSAH是一个定制的存储引擎,我假设它是在您的组织中实现的。MySQL允许开发人员将自己的存储引擎创建为C++类(参见)。 假设,当给定的搜索没有索引时,不返回任何内容的存储引擎可能不会返回任何内容。这可能是设计造成的,也可能是代码错误造成的

堆栈溢出中不在您的组织工作的任何人都无法了解自定义存储引擎的实现。我们从未使用过它,我们也无法访问它的代码或文档


如果您使用定制的存储引擎,恐怕这取决于您。

什么是
engine=ALTACSAH
?我从来没有听说过这个,我在谷歌搜索中找不到任何东西。你使用的是MySQL还是MS SQL Server?@Bill Karwin
ENGINE=ALTACSAH
是自定义存储引擎,并连接到MySQLserver@jarlh我用的是MySQL,也许这是这个存储引擎的一个怪癖