【发布时间】:2011-05-31 19:39:57
【问题描述】:
假设这个表有近 5 000 000 行
CREATE TABLE `author2book` (
`author_id` int(11) NOT NULL,
`book_id` int(11) NOT NULL,
KEY `author_id_INDEX` (`author_id`),
KEY `paper_id_INDEX` (`book_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
是否可以添加主索引列id 和autoincrement 作为第一位?我期待这样的事情:
CREATE TABLE `author2book` (
`id` int(11) NOT NULL AUTO_INCREMENT, <<<< This is what I try to achieve!
`author_id` int(11) NOT NULL,
`book_id` int(11) NOT NULL,
KEY `author_id_INDEX` (`author_id`),
KEY `paper_id_INDEX` (`book_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
这可能吗?
编辑:我应该提到,我希望填充添加的列。
【问题讨论】:
-
仅供参考,您已将 paper_id 的列定义从 CREATE TABLE 语句中删除...您需要在示例语句中添加
paper_id int(11) NOT NULL,或类似内容。 -
@joelhardi:这只是一个类型错误。我纠正了这一点。谢谢!
-
酷,我认为这只是一个复制和粘贴错误,只是认为如果示例代码对其他阅读该问题的人有用会很好。
-
@joelhardi,你说得对。感谢您指出了这一点。我敢肯定,如果问题和答案都是一致的,人们会很感激的。
标签: mysql primary-key add