我已经创建了一个PHP脚本,我不能提取主键,我已经给出了以下流程,请帮助我如何修改以获得主键
我正在使用MySQL DB,为Joomla工作,我的要求是跟踪任何表上的插入/更新/删除等活动,并使用触发器将其存储在另一个审计表中,即我正在进行审计。 DB的表结构:很少有表没有任何PK或自动增量键
我的脚本流程是:
如果它没有找到任何触发器,那么它会为表创建触发器,这样就可以了,
现在,我的问题是我每次都需要PK,以便我可以记录执行插入/更新/删除的任何特定表的id,以便我可以使用此审计跟踪表进行复制生产DB .. 现在正如我前面提到的那样,我在某些表中没有PK /自动递增,那么我该怎么做才能得到改变的特定id?
请指导我...... GEEKS !!!
答案 0 :(得分:1)
如果我理解你的问题是正确的,那么对于没有主键且没有其他类型的唯一标识符的表行,您需要一个唯一标识符。就我所见,这并不容易。其他数据库具有唯一的行ID,但mySQL没有。您可以使用每列的值来尝试识别行,但这远非重复安全 - 可能有两行或更多行包含完全相同的值。所以我会说,如果没有唯一的标识符,这是根本无法完成的事情。
这个SO问题中的一些想法:
MySQL: is there something like an internal record identifier for every record in a MySQL table?