Mysql 修改查询,即使找不到数据,也可以创建时间戳条目
有没有办法让此insert语句在根据查询未找到任何记录时插入带时间戳的空行或将所有0的行?我用它来显示图表上的趋势数据,需要时间戳记录,即使没有返回数据来保持图表的最新状态 查询: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
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'