参考当前表结构
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() ;
本文介绍如何通过使用MySQL数据库管理系统,确保主机数据的唯一性和实时性,通过`ON DUPLICATE KEY UPDATE`方法实现高效的数据插入和更新操作,特别关注于测试与数据连接的可用性,以及如何利用主机的唯一UUID特性避免数据重复插入。

280

被折叠的 条评论
为什么被折叠?



