错误代码: 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,

  `passwordvarchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

  `userName` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB

bill新表中有一个外键约束   tb_bill_fk指向 user表中的id :


1

2

3

4

5

CREATE TABLE bill (

  id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,

  user_id INT,

  CONSTRAINT  FOREIGN KEY tb_bill_fk (user_id)  REFERENCES usert(id)

) ENGINE=INNODB

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

时间: 2024-10-27 17:14:14

错误代码: 1005 Can't create table 'hibernate.bill' (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

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),     -&g

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

MySQL ERROR 1005: Can't create table (errno: 150)的错误解决办法

在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can't create table (errno: 150)的错误信息结果是不能建立 引用约束. 出现问题的大致情况 1.外键的引用类型不一样,主键是int外键是char 2.找不到主表中 引用的列 3.主键和外键的字符编码不一致 4.还有要建立外键的话,要先建立索引.没有建立索引也会出错. MySQL ERROR 1005: Can't create table (errno: 150)的错误解决办法

Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.

1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:call account_check_main('20180511') 错误代码: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT. 执行耗时 : 0 sec 传送时间 : 0 sec 总耗时 : 0.066 sec 2.错误原因 这是因为在5.6及以上的版本内,开启了 enforce_gt

错误代码: 1248 Every derived table must have its own alias

1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:SELECT stu_id, (SELECT stu_name FROM t_student_info t WHERE t.stu_id = t.stu_id) stu_name FROM (SELECT SUM( CASE course WHEN '敮.. 错误代码: 1248 Every derived table must have its own alias 执行耗

create table xxx as select 与 create table xxx like

create table xxx as select xxx,创建新表,没有原表的完整约束,会把原表的数据拷贝一份,如下:mysql> desc stu;+------------+--------------+------+-----+---------+----------------+| Field      | Type         | Null | Key | Default | Extra          |+------------+--------------+------

Java---Hibernate>>Can't create table './xxx/#sql-b2c_1a.frm' (errno: xxx)解决方法

通用方案:删除相关表,重新生成. 1.关联表之间数据引擎不一致导致: 修改相关表的引擎设定,保持一致. 2.关联表索引字段的引用类型不一样(如A表关联字段是int,B表索引是char): 修改相关表的字段类型,保持一致. 3.主键和外键的字符编码不一致: 修改各自对应表编码格式,保持一致. 4.找不到主表中引用的字段或没有建立关联索引: 要么删索引,要么加字段. Java---Hibernate>>Can't create table './xxx/#sql-b2c_1a.frm' (errn