主键和自动增量:所有表都可以增加甚至不相同的值?

时间:2013-09-03 23:45:21

标签: mysql phpmyadmin

在数据库中,我有两个表要实现。每个表的主键是AutoIncremented。因此,用户只需插入值,每行都会获得其主键。 但是,如果我有两个表,我怎样才能使相应的主键彼此不同? 这是一个例子:

Table brothers
    +------------------+---------+------+
    | id               | Name    | Age  |
    +------------------+---------+------+
    | 1                | James   | 30   |
    | 2                | John    | 12   |
    | 3                | Frank   | 19   |
    +------------------+---------+------+

Table sisters
    +------------------+---------+------+
    | Id               | Name    | Age  |
    +------------------+---------+------+
    | 1                | Donna   | 13   |
    | 2                | Joy     | 15   |
    | 3                | Lucy    | 11   |
    +------------------+---------+------+

我有两个表和一个主键(id),它增加了每个表的值。 我的问题是这两个id是相似的。 那么,我如何保持增加并改变id的值? 我想要:

Table brothers
    +------------------+---------+------+
    | id               | Name    | Age  |
    +------------------+---------+------+
    | BRO01            | James   | 30   |
    | BRO02            | John    | 12   |
    | BRO03            | Frank   | 19   |
    +------------------+---------+------+

Table sisters
    +------------------+---------+------+
    | Id               | Name    | Age  |
    +------------------+---------+------+
    | SIS01            | Donna   | 13   |
    | SIS02            | Joy     | 15   |
    | SIS03            | Lucy    | 11   |
    +------------------+---------+------+

我正在使用phpmyadmin,所以如果你发布我的SQL代码,它不是很有用...... 谢谢

2 个答案:

答案 0 :(得分:0)

如果您希望两个表具有相同的增加主键,则从每个表中删除主键,并将其替换为第三个表,该表只有增加的主键。

答案 1 :(得分:0)

这不可能使用MySQL自动增量机制,它只处理数字而不处理像“BRO”这样的字符串。您可以使用“before insert”类型的触发器执行此操作。