【发布时间】:2014-04-05 10:27:22
【问题描述】:
我创建了三个表
创建表employee1 (eid int, ename varchar(25),email varchar(15));
创建表accounts1 (eid int, accno int,atype varchar(2),bal int);
创建表 trans1(cid int, accno int, atype varchar(2), accounts int, bal int);
使用 alter 命令我添加了主键和外键
alter table employee1 添加主键(eid);
alter table accounts1 添加外键(eid) 引用employee1(eid);
alter table accounts1 添加主键(accno,atype);
alter table trans1 添加外键(accno,atype) 引用account1(accno,atype);
现在我的问题是我试图删除所有表的所有主键和外键,这给了我错误。
最初我尝试删除主键。然后参考下面的链接告诉我必须先删除外键,我尝试这样做,但我仍然收到错误。 MYSQL 5.5 Drop Primary Key
错误:
mysql> 改变表employee1 删除约束eid;
ERROR 1064 (42000):您的 SQL 语法有错误;检查相应的手册 池到您的 MySQL 服务器版本,以便在“约束 eid”a 附近使用正确的语法 第 1 行
mysql> alter table accounts1 删除主键;
ERROR 1025 (HY000): 将 '.\jlcindia#sql-b20_1' 重命名为 '.\jlcindia\accounts 时出错 1'(错误号:150)
mysql> 改变表employee1 删除主键;
ERROR 1025 (HY000): 将 '.\jlcindia#sql-b20_1' 重命名为 '.\jlcindia\employee 时出错 1'(错误号:150)
mysql> alter table trans1 drop foreign key;
错误 1005 (HY000): 无法创建表 'jlcindia.#sql-b20_1' (errno: 150) mysql> 显示引擎 innodb 状态
注意:我的任何表中都没有自动增量或任何类似的东西。
我检查了以下链接,但没有任何帮助。
mysql, alter column remove primary key and auto incremement
【问题讨论】:
标签: mysql sql database primary-key alter-table