我的本地工作站上有一个MySQL(5.6)数据库,我经常在其中拉大数据集来执行分析。我为每个导入数据的数据集都有一个单独的SQL脚本,并在需要时重新格式化(特别是转换日期格式)。另外,我还有其他脚本可以对数据进行详细分析。
为了保证质量,我希望有一个名为 ImportLog 的表,它存储一条记录来捕获运行的每个导入的结果。该表如下所示:
ImportName DateRun RowsImported
---------- ------- ------------
ImportASR 2015-08-29 12902
ImportEAD 2015-08-30 18023
ImportHRData 2015-08-30 122376
ImportLog 的列定义如下:
ImportName // the name of the script that is run
DateRun // the date that the script is run
RowsImported // the count of records imported in the run.
在每个脚本的最后,将是使用相关数据将一行写入此表的代码。例如,让我们说我在2015年8月29日运行了名为ImportASR的脚本,并导入了12,902条记录。在脚本结束时,我想使用以下内容将一条记录追加到 ImportLog (如上表中的第一条记录):
INSERT INTO ImportLog
VALUES("ImportASR",$DateRun,$RowCunt);
每次运行其中一个导入脚本时,都会在 ImportLog 表中添加一行,并附带相应的数据。
我的问题是:如何使用当前日期填充$ DateRun变量,如何使用新导入的ASR数据集的行计数$ RowCount变量?或者我是否试图从错误的角度来看待这个问题?
答案 0 :(得分:0)
今天早上的第一件事我偶然发现了问题的答案;它非常简单,令我惊讶的是它不需要使用任何变量。放在每个导入脚本末尾的代码如下:
INSERT INTO ImportLog
"Script: ImportASR",
SELECT NOW(),
(SELECT COUNT(*) FROM ASR_Full);
InportLog表最初定义如下:
CREATE TABLE LPIS_SearchMatchLog (
ImportName VARCHAR(25),
DateRun DATETIME,
RowCount INT
);
希望这有助于其他人!