当前位置:数据库 > MySQL >>

mysql 不能创建表 errno:150 帮我看下什么问题

CREATE TABLE user( u_no INT NOT NULL, u_pwd VARCHAR(16) NOT NULL, u_name VARCHAR(8), u_email VARCHAR(18), u_state TINYTEXT, h_id INT, PRIMARY KEY(u_no), FOREIGN KEY(h_id) REFERENCES head(h_id) );
追问:是在那里,我先创head 表了,然后去掉user表的最后一行,创表,然后再设置外键索引了``已经解决了,以前不好好学MYSQL```哎表名没事,在MYSQL我的用户表常用那个,TINYTEXT也有的,就是那个外键出问题``
答案:问题出在最后一行,可能该数据库中没有head这张表
其他:第一个表名字,最好改一下。user表在系统数据库中是有定义的,为了防止引起错误,最好换一个名字,哪怕用Users也好。
另外没有TINYTEXT这个字段,你看它在数据库中显示的颜色就知道了,蓝色的颜色才代表存在的字段类型,应该是tinyint的吧。
另外你FOREIGN KEY的那个表head表存不存在,要设置外间的话,head表示需要存在的. 

对了,我用的是SQL,但是在mySQL应该差不多性质的吧. mysql 是高级非lso数据库。

在建时,可以不用外key。你可以看看phpmyadmin,都不有这个设外key的选项,对吧?
当二个数据表有相同段名的字段时,他会优先索引。

故在mysql中,可以不使用。
你的语句,我试过了,最后一行不行。

上一个:php mysql优化 这个执行效率太低了 怎么优化一下这个sql呀
下一个:mysql实现某设备数统计报表

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,