如何从主表键和外键在同一个表中删除主键。
我有两个不同的表,每个有20K条目,我错误地做了summaryId作为主键和外键在同一个表中,但现在我想删除自动增加的主键约束。当我尝试删除主键语法返回我一个错误:如何从主表键和外键在同一个表中删除主键。
#1025 - 错误上的 '\ TG#SQL-a38_7f' 重命名 '\ TG \ rest_web_availability_summary_pm'(错误:150)
我试过了下面的查询。
ALTER TABLE 'table_name' DROP PRIMARY KEY
如果有人有任何想法,请告诉我如何删除主键。
问题是,您的字段是auto_increment
。你应该先删除AUTO_INCREMENT然后删除主键..所以试试这个:
ALTER TABLE `mytable` CHANGE COLUMN `id` `id` INT(11) NOT NULL, DROP PRIMARY KEY;
没有AUTO_INCREMENT重新定义列删除它
我试过ALTER TABLE'table_name'DROP PRIMARY KEY ALTER TABLE'table_name'DROP PRIMARY KEY'column_name' ALTER TABLE'table_name'DROP PRIMARY KEY'column_name',ADD PRIMARY KEY(列2); 但上述命令都无法帮助我。 – 2013-04-11 08:30:42
@AdeshPandey首先从字段中删除'auto_increment'标志。上述声明应该起作用。 – agim 2013-04-11 08:40:25
我已经删除了自动增加标志 – 2013-04-11 08:48:32
我有同样的问题,原来,它是由其他引用场中,MySQL所需的列是唯一的,所以我第一次加入了独特的约束和幸福快乐有史以来:
alter table `mytable` add unique key `key` (`fieldname`);
alter table `mytable` drop primary key; -- which is fieldname...
如前所述,您需要之前删除FK
秒。在MySQL上,请这样做:
ALTER TABLE `table_name` DROP FOREIGN KEY `id_name_fk`;
ALTER TABLE `table_name` DROP INDEX `id_name_fk`;
您使用什么命令删除主键? – agim 2013-04-11 08:26:29
ALTER TABLE'table_name'DROP PRIMARY KEY – 2013-04-11 08:28:10