参考当前表结构
mysql> desc vm_info;
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| hostname | varchar(50) | YES | | NULL | |
| ipaddr | varchar(15) | YES | | NULL | |
| uuid | varchar(30) | YES | UNI | NULL | |
| owner | varchar(20) | YES | | NULL | |
| project | varchar(20) | YES | | NULL | |
| updatetime | datetime | YES | | NULL | |
+------------+-------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)
目的, 当前客户会不断执行数据库连接, 测试与数据连接的可用性
主机具有唯一 uuid 值, 可保证一台主机不会被重复插入多条数据,
为记录主机最后的连接时间, 我们只需要更新 updatetime 列
可参考下面方法, 使用 on duplicate key update 的方法, 当遇到重复主机时候, 只更新某个列信息, 很方便
insert into install_system.vm_info (hostname, ipaddr, uuid, owner, project, updatetime) values ('"$hostname"','"$ipaddr"','"$uuid"','"$owner"','"$project"',now()) ON DUPLICATE KEY UPDATE updatetime=now() ;