mysql 无法创建表_MYSQL-不能创建表
Can't create table '.\ticket\user_role.frm' (errno: 121)
語法是對的,但顯示上面的錯誤
原因有三種
1、表名重復
2、以該名字命名的表之前創建過后來刪除了,但是對應的.frm文件還留在磁盤上
3、主鍵名字在全數據庫范圍內不是唯一的
我出現的時候是第三個
KEY `FK_USER_ROLE1` (`USER_ID`),
KEY `FK_USER_ROLE2` (`ROLE_ID`),
CONSTRAINT `FK_USER_ROLE1` FOREIGN KEY (`USER_ID`) REFERENCES `USERS` (`USER_ID`),
CONSTRAINT `FK_USER_ROLE2` FOREIGN KEY (`ROLE_ID`) REFERENCES `ROLE` (`ROLE_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='用戶角色資料表';
方法是找到F:\program\mysql5.0\data\ ? 其他數據庫的user_role.frm 刪掉 ?不過還不如給自己的換個名字呢。
DROP TABLE IF EXISTS `USER_ROLE`;
CREATE TABLE `USER_ROLE` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`USER_ID` int(11) NOT NULL DEFAULT '0' COMMENT '用戶代碼',
`ROLE_ID` int(11) DEFAULT NULL COMMENT '角色代碼',
`STATUS` char(1) DEFAULT NULL COMMENT '狀態',
PRIMARY KEY (`ID`),
UNIQUE KEY(`USER_ID`,`ROLE_ID`),
CONSTRAINT `MFK_USER_ROLE1` FOREIGN KEY (`USER_ID`) REFERENCES `USERS` (`USER_ID`),
CONSTRAINT `MFK_USER_ROLE2` FOREIGN KEY (`ROLE_ID`) REFERENCES `ROLE` (`ROLE_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='用戶角色資料表';
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
總結
以上是生活随笔為你收集整理的mysql 无法创建表_MYSQL-不能创建表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 期货和股票哪个风险大?从这些方面了解
- 下一篇: 招行附属卡怎么绑定微信