[Phpmyadmin-devel] bug #4540: table create issue

Marc Delisle marc at infomarc.info
Mon Sep 22 14:58:50 CEST 2014

Smita a écrit :
> On Mon, Sep 22, 2014 at 5:45 PM, Smita <kumarismita62 at gmail.com> wrote:
>> On Mon, Sep 22, 2014 at 5:37 PM, Marc Delisle <marc at infomarc.info> wrote:
>>> Smita a écrit :
>>>> Hi
>>>> This is in reference of bug[0] in current master. While I was debugging
>>> the
>>>> code to fix the issue, I found that we are trying to force the column
>>> to be
>>>> primary key if auto_increment has been checked.
>>>> there is this comment in Table.class.php:
>>>> // Force an auto_increment field to be part of the primary key
>>>>             // even if user did not tick the PK box;
>>>> anyone have an idea why are we doing so ?
>>> Hi Smita,
>>> This is a misinterpretation of the doc. In [1] we see that the column
>>> must be indexed, not necessarily part of the primary key.
>>> I have the impression that traditionally, people use the auto_increment
>>> mostly on the primary key but it's not mandatory.
>>> yeah, So I think we should not force the auto_increment to be primary
>> key, right? This will also fix the bug[0].
>> My mistake, I also misunderstood. We are supposed to force some index.
> So thing is We can't create a table unless auto_increment column is part of
> any index. So what do we do to meet this constraint on Create Table
> interface ?
> I suggest, what if when user checks the auto_increment we show a dialog
> saying it must be indexed, click to add an Index ?

Remember that checking auto_increment can be done:
- when creating a table
- when adding a column
- when changing a column

So we must avoid annoying the user in case the column is already indexed 
or in case she chose to index it.

Marc Delisle (phpMyAdmin)

More information about the Developers mailing list