[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