Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 修改查询,即使找不到数据,也可以创建时间戳条目_Mysql_Date_Insert - Fatal编程技术网

Mysql 修改查询,即使找不到数据,也可以创建时间戳条目

Mysql 修改查询,即使找不到数据,也可以创建时间戳条目,mysql,date,insert,Mysql,Date,Insert,有没有办法让此insert语句在根据查询未找到任何记录时插入带时间戳的空行或将所有0的行?我用它来显示图表上的趋势数据,需要时间戳记录,即使没有返回数据来保持图表的最新状态 查询: SELECT DISTINCT "SEM_AGENT"."DELETED" ,"PATTERN"."VERSION" ,"PATTERN"."PATTERNDATE" ,"SEM_AGENT"."AGENT_VERSION" ,"SEM_CLIENT"."COMPUTER_NAME" "Compu

有没有办法让此insert语句在根据查询未找到任何记录时插入带时间戳的空行或将所有0的行?我用它来显示图表上的趋势数据,需要时间戳记录,即使没有返回数据来保持图表的最新状态

查询:

 SELECT DISTINCT "SEM_AGENT"."DELETED"
  ,"PATTERN"."VERSION" 
  ,"PATTERN"."PATTERNDATE"
  ,"SEM_AGENT"."AGENT_VERSION"
  ,"SEM_CLIENT"."COMPUTER_NAME" "Computer Name"
  , "SEM_COMPUTER"."OPERATION_SYSTEM" "Operation System"
  ,dateadd(s,convert(bigint,"SEM_AGENT"."CREATION_TIME")/1000,'01-01-1970 00:00:00')     CREATION_DTTM
  , dateadd(s,convert(bigint,"SEM_AGENT"."LAST_UPDATE_TIME")/1000,'01-01-1970 00:00:00') Lastupdatetime
  , DATEADD(s, convert(bigint,LAST_SCAN_TIME)/1000, '01-01-1970 00:00:00')"Last Scan Time"
  , "PATTERN"."PATTERNDATE" "Pattern Date"
  , "SEM_CLIENT"."USER_NAME" "User Name"
  , "V_SEM_COMPUTER"."IP_ADDR1_TEXT" "IP Address"
  , "IDENTITY_MAP"."NAME" "Group Name"
FROM (((("SEM_AGENT" "SEM_AGENT" INNER JOIN "SEM_CLIENT" "SEM_CLIENT" 
  ON (("SEM_AGENT"."COMPUTER_ID"="SEM_CLIENT"."COMPUTER_ID") 
  AND ("SEM_AGENT"."DOMAIN_ID"="SEM_CLIENT"."DOMAIN_ID")) 
  AND ("SEM_AGENT"."GROUP_ID"="SEM_CLIENT"."GROUP_ID")) INNER JOIN "SEM_COMPUTER"   "SEM_COMPUTER" 
  ON (("SEM_AGENT"."COMPUTER_ID"="SEM_COMPUTER"."COMPUTER_ID") 
  AND ("SEM_AGENT"."DOMAIN_ID"="SEM_COMPUTER"."DOMAIN_ID")) 
  AND ("SEM_AGENT"."DELETED"="SEM_COMPUTER"."DELETED")) INNER JOIN "PATTERN" "PATTERN" 
  ON "SEM_AGENT"."PATTERN_IDX"="PATTERN"."PATTERN_IDX") INNER JOIN "IDENTITY_MAP"   "IDENTITY_MAP" 
  ON "SEM_CLIENT"."GROUP_ID"="IDENTITY_MAP"."ID") INNER JOIN "V_SEM_COMPUTER"   "V_SEM_COMPUTER" 
  ON "SEM_COMPUTER"."COMPUTER_ID"="V_SEM_COMPUTER"."COMPUTER_ID" 
  AND "SEM_AGENT"."DELETED"=0
WHERE Pattern.Patterndate < (select max(Patterndate) -2 from Pattern)
AND SEM_COMPUTER.OPERATION_SYSTEM NOT LIKE '%2000%'
ORDER BY "Computer Name"
以下是CREATETABLE语句:

'av_Internal', 'CREATE TABLE `av_internal` (
  `device_type` char(255) DEFAULT NULL,
  `ip_address` char(255) DEFAULT NULL,
  `user_tag` char(255) DEFAULT NULL,
  `VERSION` char(255) DEFAULT NULL,
  `Computer_Name` char(255) DEFAULT NULL,
  `Operation_System` char(255) DEFAULT NULL,
  `Pattern_Date` char(255) DEFAULT NULL,
  `LAST_UPDATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1'

在要插入的表中添加一个名为created_date的timestamp列,并将其设置为默认值CURRENT_timestamp


然后,每个记录都会自动将创建日期添加到记录中。

我有一个时间戳列。我的问题是,当上面的查询没有返回任何数据时,如何添加一个带时间戳的空行或一行0。每次运行insert语句时,我都需要表中的某些内容,无论是数据行还是只有一个带有timestamp@Ben您正在将主键设置为0?以下是表结构:设备类型字符(255)是ip地址字符(255)是用户标记字符(255)是---我不熟悉主键。我仍在学习这一切。版本字符(255)是计算机名称字符(255)是操作系统字符(255)是模式日期字符(255)是上次更新时间戳无当前更新时间戳当前_TIMESTAMP@Ben运行此sql查询:“show create table tablename;”将tablename替换为表名,并将结果粘贴到问题的底部。@Ben能否在此表中添加一个名为id的列?使其成为自动递增的主键。然后inserts将创建新的唯一记录。能否为要插入的表提供create语句?
'av_Internal', 'CREATE TABLE `av_internal` (
  `device_type` char(255) DEFAULT NULL,
  `ip_address` char(255) DEFAULT NULL,
  `user_tag` char(255) DEFAULT NULL,
  `VERSION` char(255) DEFAULT NULL,
  `Computer_Name` char(255) DEFAULT NULL,
  `Operation_System` char(255) DEFAULT NULL,
  `Pattern_Date` char(255) DEFAULT NULL,
  `LAST_UPDATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1'