开发者

Edit data in MySQL Database with no Primary Key

I am using Webmin on an Idaq hosting package to manage my MySQL database. I have imported the database from a previous host and now find that I cannot alter any data that is in a particular table because of an error "Data in this table cannot be edited because it has no primary key."

In a php script I can alter data but really need to alter it from the control panel.

When I try and create a primary key field I get the following error "Failed to save field : SQL alter table userb开发者_如何学Goase add referenceNumber smallint not null auto_increment failed : Incorrect table definition; there can be only one auto column and it must be defined as a key"

I am well aware that any table should contain a primary key and this is my mistake , but can anyone offer some help please ?


It's because you aren't setting it as a key at the same time so it fails the and it must be defined as a key part, put key on the end.

Use

ALTER TABLE tableName ADD autoIncrementColumn MEDIUMINT NOT NULL AUTO_INCREMENT KEY

Extra Info from Johan in comments

@Mick, To add to PEZ's answer, if you do not provide a primary key, MySQL adds a hidden primary integer autoincrement key. In order to override the hidden key, the alter table statement must specify the addition of a new field and the assignment of the new PK in the same line, otherwise the hidden PK will block the alteration.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜