提取从MySQL在PHP中的主键(Extract primary key from MySQL in

2019-09-30 07:59发布

我创建了一个PHP脚本,我缺乏提取的主键,我已经给下面的流程,请帮我如何修改让主键

我使用的MySQL数据库,为Joomla的工作,我的要求是跟踪像插入/更新活动/删除任何表,并使用触发器其存储在另一个审核表,也就是我在做审计。 DB的表结构:几张桌子,不要有任何的PK,也没有自动递增键

我的脚本的流程是:

  1. 我从数据库提取出所有表。
  2. 我检查表是否有任何触发与否。
  3. 如果是,则移动到检查下一个表等。
  4. 如果一点儿也不觉得任何触发然后为表创建触发器,这样,

    • 它首先检查表有任何主键或不(在跟踪审计表中插入对于由每一个变化)
    • 如果有主键,然后它使用它进一步创建触发器。
    • 如果它没有找到任何PK那么它在创造触发进一步的情况下,不审计表中插入任何ID

现在在这里,我的问题是我需要的PK每次这样我可以记录在其中插入/更新/删除在执行任何特定表的ID,以便更多的我可以使用此审计跟踪表生产DB复制。现在我haave前面提到的,我不具备的PK /自动增加一些表,那么我该怎么办得到特定的ID,其中换做?

请指导我... GEEKS!

Answer 1:

如果我理解你的问题的权利,你需要为那些没有主键,没有其他种类的唯一识别符的表行的唯一标识。 这并不容易,因为据我所看到的事情。 其他数据库具有唯一行标识,但MySQL没有。 你可以使用每列,试图找出行的值,但远没有重复的安全-有可能是包含完全相同的值的两个或多个行。 所以我说,没有一个唯一的标识符,这一点是根本无法做到的。

在这太问题的一些想法:

MySQL的:有像在一个MySQL表中的每个记录的内部记录标识?



文章来源: Extract primary key from MySQL in PHP