mysql出现的错误

(一)ERROR 1005 (HY000): Can‘t create table ‘.\day19\user_role.frm‘ (errno: 121)

今天遇到的这个问题是因为创建了五张表,其中有两张中间表,两张中间表中都有一个共同的约束键,即一张表中的关键字被另外两张中间表引用约束。所以另外两张中间表中的引用要起不同的名字

create table role_privilege(
	role_id varchar(40),
	privilege_id varchar(40),
	primary key(role_id,privilege_id),
constraint role_id_FK foreign key(role_id) references role(id),
constraint privilege_id_FK foreign  key(privilege_id) references privilege(id)
);

create table user_role(
	role_id varchar(40),
	user_id varchar(40),
	primary key(role_id,user_id),
	constraint role_id_FK1 foreign key(role_id) references role(id),
	constraint user_id_FK foreign key(user_id) references user(id)
);(二)ERROR 1005 (HY000): Can‘t create table ‘.\day17\employee.frm‘ (errno: 150)
1、外键的引用类型不一样,主键是int外键是char 2、找不到主表中 引用的列 3、主键和外键的字符编码不一致 4.还有要建立外键的话,要先建立索引。没有建立索引也会出错。 

有时候没有设置主键,会产生这种问题
时间: 2024-08-01 17:48:57

mysql出现的错误的相关文章

mysql 数据库表错误 修复 总结

mysql 数据库坏表修复 萝卜白菜,各有所爱,能干活.能修复表才是王道!!! 修复之前谨记:先备份数据库 (备份完成后再进行以下修复操作) 可以mysqldump -A  > all.sql   进行全库备份  (mysqldump导出错误的时候可以省略错误的表进行导出其他的数据添加选项   --ignore-table=table_name  )  也可以进入到/usr/local/shell/ 执行  mysql_backup.sh进行备份数据库  以上两种方式都不可以备份 可以进入到/d

如何快速解决MySQL 1032 主从错误

3分钟解决MySQL 1032主从错误 Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错 解决方案 Part1:临时方案 mysql> stop slave;Query OK, 0 rowsaffected (0.00 sec) mysql> set global sql_slave_skip_counter=1;Query OK, 0 rowsaffected (0.00 sec)

在查MySQL 1366的错误原因

在查MySQL 1366的错误原因时,发现一些有趣的回答. 不过,还是有人给出了比较好的解决方法 MySQL 1366错误大致描述如下 1. SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86-" for column "address" at row 1 解决办法:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同:不相同则会引发MySQL1366错误. 修改M

Mysql添加用户错误:ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value解决方法

添加用户 insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 报以下的错误 ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误 mysql5.1以上版本,我是在5.6版本上操作的. 错语原因: mysql用户表的中某些字段不能为空,没有默

mysql 主从复制常见错误

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always

mysql 在windows下,使用 net start mysql 命令发生错误 服务名无效 或 1067

mysql 在windows下,使用 net start mysql 命令发生错误 :服务名无效 或 1067 先使用mysqld -install安装一下 删除data目录下的日志等文件(因为之前的错误或pid文件有问题) net start mysql 启动 来自为知笔记(Wiz)

启动mysql出现1067错误

0. 打开mysql\bin\my.ini,查找[mysqld],在[mysqld]下面添加一行文字,skip-grant-tables 即组成 [mysqld] skip-grant-tables[本人经过此方法一次性成功] 方法一:1.打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM. 2.删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1 3

MySQL安装常见错误及解决方案

错误1:wizard安装最后一页,出现cannot create Windows service for mysql.error:0 错误 解决方法:打开命令行 输入 sc delete mysql 命令即    C:>sc delete mysql    [SC] DeleteService SUCCESS 重起电脑,或者卸载后重启再安装,这样就好了.我是卸载后重启的. 卸载重新安装要注意一个问题,在控制面板中卸载后,要去c:\Documents and Settings\All Users\

Mysql遇到的错误

编程中MySQL遇见的错误 Query : insert into user(username,PASSWORD,gender,email,telephone,introduce,activecode,state,registtime) values('1234','男','[email protected]Error Code : 1136Column count doesn't match value count at row 1 在values(...)插入的值的个数和表user中的字段里

【mysql】service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误

service MySQL start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [[email protected] ~]# service mysql startmysql: unrecognized service[[email protected] ~]# service mysql restartmysql: unrecognized service [[email protected] ~]# rpm -q mysql   查