我想创建一个触发器,根据新插入的行中的值插入2个新行。我正在使用wordpress。
例如,我有一个包含3列的表WP_POSTMETA
:POST_ID, META_KEY, META_VALUE
。当在wordpress中创建一个新的post时,表中会填充几个新行,每个新行都包含相同的POST_ID
值。但是,这些行具有不同的META_VALUE
和META_KEY
值。我正在尝试编写一个触发器,它可以:
-
检测何时插入包含_thumbnail_id的
META_KEY
的新行,并插入新行,其中POST_ID
是_thumbnail_id -
创建第二行,其中
POST_ID
再次为thumbnail_id,META_VALUE
和META_KEY
列为静态字符串条目。
这可能是您应该在应用程序中而不是在数据库层执行的操作。
您已经获得了wp_insert_post()
和add_post_meta()
这样的函数,以便轻松地执行此操作。
您将无法在MySQL中使用触发器,至少正如您所描述的那样。
如果您从触发器向定义触发器的表(在您的情况下为wp_postmeta
)发出任何DML语句(在您中为INSERT
s),MySQL将抛出错误。
E.1.对存储程序的限制
在存储的函数或触发器中,不允许修改表已被调用函数或触发器的语句。