ERROR 1005 (HY000): Can't create table 'sakila.book2' (errno: 150)

mysql> create table user2(
    -> id int,
    -> name varchar(10),
    -> primary key(id))
    -> engine=innodb;
Query OK, 0 rows affected (0.02 sec)

mysql>  create table book2(
    ->  id int,
    ->  bookname varchar(10),
    ->  userid int,
    ->  primary key(id),
    ->  constraint fk_userid_id foreign key(userid) references users2(id))
    ->  engine=innodb;
ERROR 1005 (HY000): Can‘t create table ‘sakila.book2‘ (errno: 150)

场景如上:

这个错误只提示了不能够创建sakila.book2表,但是没有明确的提示为什么不能创建,原因是在我创建book2表的外键约束的时候将user2表名写错,无法找到正确的外键约束表。

ERROR 1005 (HY000): Can't create table 'sakila.book2' (errno: 150)

时间: 2024-11-15 20:54:33

ERROR 1005 (HY000): Can't create table 'sakila.book2' (errno: 150)的相关文章

ERROR 1005 (HY000): Can't create table'matrix.system_log' (errno: 150)

CREATE TABLE `user` (`id` bigint(32) NOT NULL AUTO_INCREMENT ,`name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,`erp` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' ,`email` varchar(32) CHARACTER SET

Mysql错误问题:ERROR 1005 (HY000): Can't create table 'crm_1.tbl_client' (errno: 150)

MySQL外键创建条件: 1.两个表必须是InnoDB数据引擎2.外键表的外键字段必须是主键3.字段类型必须一致 创建表时创建外键: create table tbl_client(userName varchar(255) not null, address varchar(255), createDate timestamp not null default now(), createUserName varchar(255), foreign key(createUserName) ref

错误代码: 1005 Can't create table 'hibernate.bill' (errno: 150)

主要问题以及解决办法是: 1,MySQL支持外键约束,并提供与其它DB相同的功能,但表(外键表和外键主表)类型必须为 InnoDB,外键表和外键主表的类型都要是innoDB 建表约束语句: user表: 1 2 3 4 5 6 CREATE TABLE `usert` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,   `userNa

mysql为表添加外键完成性约束 报错Can't create table 'sfkbbs.#sql-513_25' (errno: 150)

代码 alter table sfk_son_module add constraint foreign key(father_module_id) references sfk_father_module(id) on delete restrict on update restrict; (constraint 后面可以加上约束名字) 错误原因是之前两张表的id的类型不一样,一个时int,一个时bigint 解决办法时修改表, alter table sfk_father_module mo

ERROR 1 (HY000): Can‘t create/write to file ‘/data

使用非DBA用户进行load data 操作,发现报错. MariaDB [temp_archive]> select * from t1 into outfile '/data/test.sql'; ERROR 1 (HY000): Can't create/write to file '/data/test.sql' (Errcode: 13 "Permission denied") 提示报错. 报错原因权限不足. 分析: 权限有系统权限和数据库权限. /data 目录权限

ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_830_0.MYI' (Errcode: 13)

mysql操作时,出现报错. 执行describe 命令时, 临时文件目录没有创建或者无写入权限:于是: cd /var/lib/mysql/ #进入mysql数据目录 mkdir tmp #创建需要的临时目录 chown mysql.mysql /var/lib/mysql/tmp #给临时目录分配mysql权限用户及群组 ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_830_0.MYI' (Errcode: 13)

ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_909_0.MYI' (Errcode: 13)

mysql> desc tablename; ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_909_0.MYI' (Errcode: 13) 两种解决办法:方法一:1.chmod 777 /tmp[[email protected] /]# chmod 777 /tmpchmod: 更改"/tmp" 的权限: 只读文件系统 --遇到这种情况,tmp权限无法更改. 2./etc/init.d/mysqld start

ERROR 1 (HY000): Can't create/write to file '/tmp/#sql_4188_1.MYI' (Errcode: 28)

mysql Errcode 28 磁盘还可以但是inode表没有了 dd if=/dev/zero of=tmpforinde count=1024 bs=1024KB mke2fs -N 5000000 -b 1024 -I 128 tmpforinde #格式化成ext2分区(因为ext3有日志系统,会消耗空间),制定inode大小为 mount -o loop tmpforinde /var/tmp [email protected]:/var# df -h Filesystem Size

mysql ERROR 1005

mysqldump 导出备份后用mysq还原报错 ERROR 1005 (HY000) at line 1001: Can't create table '' (errno: 121) 删除mysql的ibdata1.ib_logfile0.ib_logfile1 再试试,记得备份哦.