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-不能创建表的更多相关文章

  1. MYSQL定时创建表分区

    MYSQL定时创建表分区 一.存储过程-表分区-----------------------------------------------------------------需求: 每月创建一个分区 ...

  2. mysql 在创建表或者插入时遇到关键字报错

    mysql 在创建表或者插入时遇到关键字:比如name,status等.都不报错 解决方法:在字段上加上` 上面这个符号是键盘ecs下面那个符号

  3. MySql数据库创建表

    3.3.MySql数据库创建表 创建5个表: UserInfo用户基础表 Role 角色表 MenuInfo 菜单即控制表 Relation_Role_Menu 角色对应菜单关系表 RelaTion_ ...

  4. mysql中,创建表的时候指定if not exists参数的作用?

    需求说明: 在创建表的时候,如果指定if not exists语句,有什么作用,在此做个实验,并且官方手册, 理解下这个参数的作用. 操作过程: 1.创建测试表test01 mysql> cre ...

  5. Myecilpse web +tomcat 项目: JSP在mysql中创建表

    <%@ page language="java" import="java.util.*" import="com.mysql.jdbc.Dri ...

  6. shell mysql 直接创建表

    shell 直接创建表 #!/bin/bash mysql -hdatabases -uroot -p^xxxxasdasdadd <<EOF Create Database If Not ...

  7. Qt编译mysql以及创建表后进行导入操作

    鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学.        首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱 ...

  8. MYSQL批量创建表的存储过程

    因为业务需要,创建了100个表,但是这些表的结构都是一样的,作为程序员,就是要解决这种重复劳动.然而这种事情还要单独写个php脚本的话太麻烦了吧,所以就干脆学了一下直接用Mysql存储过程怎么实现: ...

  9. MySQL数据库--创建表,查询

    MySQL创建表: 表(一)Student (学生表): CREATE TABLE `Student` ( `sno` ) DEFAULT NULL, `sname` ) DEFAULT NULL, ...

  10. mysql不创建表 <property name="hbm2ddl.auto">update</property> 无效

    netbeans win10 mysql8 hibernate 4.3.11 dakai mysql的general_log发现并没有创建表的语句 未完待续 今天又遇到不创建表的问题 但是问题比较奇怪 ...

随机推荐

  1. layui水平导航条三级

    需求 需要做一个顶部的水平导航条,有三级,展开的时候二级和三级一起展开,结果如图: 效果 一级菜单 二级标题   三级菜单 三级菜单 二级标题   三级菜单 三级菜单 一级菜单 二级标题   三级菜单 ...

  2. [shell]关闭超时的进程

    应同事要求,写了个shell, 主要功能为查找超时的进程,并关闭! 调用方式: shell_sheep :  为进程名 30 : 为30分钟 从打印的日志能看出会多两个PID,不要惊慌,由于你执行时会 ...

  3. 20145226 2016-2017-2 夏艺华 《Java程序设计》 课程总结

    20145226夏艺华 <Java程序设计>课程总结 每周读书笔记链接汇总 第一周读书笔记 了解Java编程风格,认识Java的类型与变量,掌握Java流程控制的方法(分支.循环). ht ...

  4. IntelliJ IDEA 添加jar包

      事先下载完成需要的javacsv.jar包. java项目在没有导入该jar包之前,显示如下图所示   点击 File ->  Project Structure(快捷键 Ctrl + Al ...

  5. 使用 lxml 中的 xpath 高效提取文本与标签属性值

    以下代码在 python 3.5 + jupyter notebook 中运行测试无误! # 我们爬取网页的目的,无非是先定位到DOM树的节点,然后取其文本或属性值 myPage = '''<h ...

  6. 前端- html -总结

    html概述 head标签 title 显示网站的标题 meta 提供有关页面的原信息 link 链接css资源文件.网站图标 style 定义内部样式表 script 链接脚本js文件 body标签 ...

  7. Ubuntu环境下安装CUDA9.0

    前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): ...

  8. 单元测试——隔离神器:mockito

    mockito,一个让人着迷的单元测试隔离框架.对比了easymock,jmock,jmockito,最终选择了它. 为什么用他 接口语法简洁.自然.写起来像在说话,很舒服. 文档更完整.让学习曲线更 ...

  9. Linux常规命令总结

    Linux常规命令总结,仅供参考: 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显 ...

  10. MD5加密--项目案例

    在项目中最尝使用MD5这种非对称加密的就是用户信息登录了.下面我就以一个简单的登录案例来说明MD5的用法 首先来看几张图: 用户登录页:需要选择要登录的系统,同时输入用户的用户名和密码,验证码才能进入 ...