如何从mysql表中删除主键,该表同时是主键和外键。?
我有两个不同的表,每个表有20k个条目,我错误地将summaryId作为同一个表中的主键和外键,但现在我想删除主键约束,它也是自动递增的。当我尝试删除主键语法时,它会返回一个错误: #1025-将“.\tg”sql-a38_7f”重命名为“.\tg\rest\u web\u availability\u summary\u pm”时出错(错误号:150) 我尝试了下面的查询如何从mysql表中删除主键,该表同时是主键和外键。?,mysql,foreign-keys,primary-key,foreign-key-relationship,primary-key-design,Mysql,Foreign Keys,Primary Key,Foreign Key Relationship,Primary Key Design,我有两个不同的表,每个表有20k个条目,我错误地将summaryId作为同一个表中的主键和外键,但现在我想删除主键约束,它也是自动递增的。当我尝试删除主键语法时,它会返回一个错误: #1025-将“.\tg”sql-a38_7f”重命名为“.\tg\rest\u web\u availability\u summary\u pm”时出错(错误号:150) 我尝试了下面的查询 ALTER TABLE 'table_name' DROP PRIMARY KEY 如果有人有任何想法,请告诉我如何删除
ALTER TABLE 'table_name' DROP PRIMARY KEY
如果有人有任何想法,请告诉我如何删除主键。问题是,您的字段是
自动增量
。您应该先删除自动增量,然后删除主键。。所以试试这个:
ALTER TABLE `mytable` CHANGE COLUMN `id` `id` INT(11) NOT NULL, DROP PRIMARY KEY;
在没有自动增量的情况下重新定义列将删除它我也遇到了同样的问题,结果发现,由于其他字段引用了该列,mysql要求该列是唯一的,因此我首先添加了一个唯一的约束,从此过上了幸福的生活:
alter table `mytable` add unique key `key` (`fieldname`);
alter table `mytable` drop primary key; -- which is fieldname...
如前所述,您需要先删除
FK
s。在MySQL上,执行以下操作:
ALTER TABLE `table_name` DROP FOREIGN KEY `id_name_fk`;
ALTER TABLE `table_name` DROP INDEX `id_name_fk`;
您使用什么命令删除主键?ALTER TABLE“TABLE_name”drop primary key我尝试过ALTER TABLE“TABLE_name”drop primary key ALTER TABLE“TABLE_name”drop primary key“column_name”添加主键(column2);但是上面的命令对我都没有帮助。@AdesHandey首先从字段中删除
auto\u increment
标志。上述声明应该有效。