我正在尝试找到一种基于其他表自动添加(并可能删除)mysql表中列的最佳方法。目前我通过cron(bash,php等)使用脚本来检查表A然后更新表B.我想知道是否有一种方法在mysql内部使用mysql脚本/语句在内部基于表的更新自动执行此操作?
仅作为解决问题的示例
表A:这是将手动更新的表
Name : cloud_environments
cloud_env_id : id
cloud_env_name : name (ie dev1)
<DATA>
id:1, name:dev_env_1
id:2, name:staging_env_1
id:3, name:production_env_1
表B:在表A中放置新值时应自动更新,每个cloud_env_id应在表B中有三个字段,
cloud_env_id
环境状况
环境版本
所以初始表看起来像
name : cloud_env_details
cloud_env_detail_id : id
cloud_env_detail_name_id1 : dev1 //name:dev_env_1
cloud_env_detail_status_id1 : active //status of dev_env_1
cloud_env_detail_version_id1 : 0.3.3 //version dev_env_1
cloud_env_detail_name_id2 : sta1 //name:staging_env_1
cloud_env_detail_status_id2 : active //status of staging_env_1
cloud_env_detail_version_id2 : 0.2.3 //version staging_env_1
cloud_env_detail_name_id3 : prd1 //name:production_env_1
cloud_env_detail_status_id3 : active //status of production_env_1
cloud_env_detail_version_id3 : 0.1.1 //version production_env_1
现在,如果我向表A添加新环境,例如
id4,名称dev_env_2
我想自动将附加模板列添加到表B
cloud_env_detail_name_id4 : dev2 //name:dev_env_2
cloud_env_detail_status_id4 : NULL //status of dev_env_2
cloud_env_detail_version_id4 : NULL //version dev_env_2