我有一张table叫 clients
,表中有两列重要信息; id
以及 client
. 我在同一个数据库中有一个名为 calendar
. 我真的想要两列 id
以及 client
在 calendar
要与中的表同步的表 client
table。
现在我用这个php在mysql中执行:
INSERT IGNORE INTO calendar (id, client) SELECT id, client FROM clients;
有没有更好的方法来完成这项任务?可能是mysql中的一个内置函数,我忽略了或者类似的东西?
1条答案
按热度按时间zc0qhyus1#
使用触发器:mysql触发器是与表关联的数据库对象。当为表执行定义的操作时,它将被激活。
在表上运行以下mysql语句之一时可以执行触发器:insert、update和delete,并且可以在事件之前或之后调用它。
在主表中插入或更新行并在另一个表中进行更改时,可以触发触发器
例子:
“new”表示插入到clients表中的新值。相同的值将被插入日历的id和client列中。
注意:从表名中删除单引号是因为引号有效地使其成为字符串文字,而不是正确的标识符。分隔符命令将每个语句的结尾从“;”到“$$”,这样mysql就不会与“;”触发器内外
为update和delete创建类似的触发器
示例和语法的简单指南:http://www.mysqltutorial.org/create-the-first-trigger-in-mysql.aspx