我有一个查询,可以将数据输入到mysql数据库中。但是,我也想输入一个条目的时间,并且所输入的时间应该与服务器时间相对应。我正在使用Ubuntu Server 12.04 LTS,以下是我用于向表中输入数据的代码(它嵌入在一个脚本)
mysql -uroot -pmysql --local-infile database -e"LOAD DATA LOCAL INFILE A.txt INTO TABLE TABLEA columns terminated by '|'"
我创建了一个表,使其具有3列,其中1列为时间,数据类型标记为时间戳。我该如何编辑我的代码,以便它也可以插入本地时间。我正在使用LAMP堆栈。为了进一步说明,我的表是否像
> ip mac time
> 10.0.0.97 00 14 2A 2F 72 FE 2012-09-09 23:11:05
我的文本文件包含数据
10.0.0.97|00 14 2A 2F 72 FF
10.0.0.98|00 21 33 RT W3 TT
我现在运行脚本,我希望它以如下形式出现在数据库中
> ip mac
> time
> 10.0.0.97 00 14 2A 2F 72 FE 2012-09-09 23:11:05
> 10.0.0.97 00 14 2A 2F 72 FF 2013-18-09 16:11:11
> 10.0.0.98 00 21 33 RT W3 TT 2013-18-09 16:11:11
您可以像执行LOAD INFILE一样进行操作:
mysql -uroot -pmysql
-e "update database.TABLEA set `time`=now() where `time` IS NULL or `time` = '';"
将更改TABLEA并将time
所有记录设置为now(),其中time
IS NULL或其time
中空(因为您不希望文件带有时间戳,这只会更改新记录)。
如果您需要更改较少的记录,请添加“位置”。time
如果字段为NULL或文本文件中记录的实际键,则类似于“ where IS NULL”。
其他2种方法:
当然,您也可以通过将时间戳添加到您上传的文本文件中来提供时间戳。
您还可以编辑表本身,并将CURRENT_TIMESTAMP作为默认值添加到表中的ONE(!)列。
顺便说一句:请不要使用此方法提供密码。它会显示在您的进程列表中,因此对所有人可见。有关更多信息,请参见官方MySQL手册6.1.2.1。最终用户密码安全准则
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句