当前位置: 首页 > 知识库问答 >
问题:

使用Alter命令删除主键和外键

卢才艺
2023-03-14

使用alter命令,我添加了主键和外键

alter table employee1添加主键(eid);

alter table accounts1 add foreign key(eid)REFERENCEEE1(eid);

错误:

MySQL>alter table employee1删除约束eID;

错误1064(42000):您的SQL语法中有错误;查看将ponds与您的MySQL server版本相关联的手册,了解在“constraint eid”附近使用的正确语法

错误1005(HY000):无法创建表'jlcindia.#SQL-B20_1'(错误号:150)MySQL>显示引擎innodb状态

注意:我没有自动递增或任何这样的事情在我的任何表。

我查看了以下链接,但没有任何帮助。

共有1个答案

景才英
2023-03-14

您需要按以下顺序删除约束(与创建键的顺序相反):

  • trans1
  • 中的外键
  • accounts1
  • 中的主键
  • accounts1
  • 中的外键
  • employee1
  • 中的主键

小提琴

 类似资料:
  • 本文向大家介绍MySQL ALTER列删除主键和auto_increment?,包括了MySQL ALTER列删除主键和auto_increment?的使用技巧和注意事项,需要的朋友参考一下 您可以使用ALTER命令删除主键和auto_increment。语法如下- 为了理解上述语法,让我们创建一个表。创建表的查询如下- 使用DESC命令检查表的描述。语法如下- 使用DESC检查表'removeP

  • 问题内容: 我正在将我的mysql db表从id(自动)更改为uid。 这是我得到的错误。 据我了解,我需要将ID更改为非自动增量,因为我将其作为主键了。更改列以删除主键和自动递增的语法是什么? 问题答案: 如果您需要在单个SQL语句中从列中删除自动增量和主键,则应该这样做: 实际上,您应该能够在单个查询中完成所有操作:

  • 我有两个表,一个有复合主键,另一个有外键。它们都设置为删除时级联。问题是,当我从主表中删除一个复合键集“name:John date:02.02.2018”时,所有John行都会从带有外键的表中删除,但是可以有一个集合“name:John date:04.04.2018”以及日期为02.02的所有行。也删除了一些行,如何才能使其删除仅匹配外键集的行? 更新:

  • 问题内容: 我有一个MySQL表,其定义如下: 目前表格中只有1列: 问题是没有删除约束就无法删除该行的方法。 由于ThreadId列的定义不为null,因此也无法将ThreadId临时设置为其他值以删除该行。有没有一种方法可以删除行而不更改表的定义或删除整个表? 问题答案: 您可以使用以下查询临时禁用外键约束:

  • 本文向大家介绍MySQL ALTER命令使用详解,包括了MySQL ALTER命令使用详解的使用技巧和注意事项,需要的朋友参考一下 ALTER TABLE允许你修改一个现有表的结构。例如,你可以增加或删除列、创造或消去索引、改变现有列的类型、或重新命名列或表本身。你也能改变表的注释和表的类型。 你可以使用CHANGE old_col_name create_definition子句重命名一个列。为

  • 我正在我们的项目中实施DynamoDB。我们必须将大型数据字符串放入数据库中,所以我们将数据拆分为小块,并插入多行,其中只有一个属性值发生了更改—这是字符串的一部分。一列(范围键)包含多个零件。插入和选择数据对于大小字符串都非常有效。问题是删除项目。我了解到,当您想要删除某个项时,需要为该项指定主键(哈希键或哈希键和范围键-取决于表)。但如果我想删除对其中一个属性具有特定值的项目,该怎么办?我是否