mysql 插入更新的简单方法

    xiaoxiao2026-01-29  7

    参考当前表结构

    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() ;
    最新回复(0)