1樓:匿名使用者
index_table是聯合主鍵,
建外來鍵的時候確是單列,這樣是不行的。
外來鍵必須和主表的主鍵列資料型別和順序一致
2樓:匿名使用者
create database if not exists wcfa;
use wcfa;
create table if not exists index_table(
tw nvarchar(50) auto_increment primary key,
fid varchar(10) not null,
);create table if not exists file_table(
fid varchar(10) auto_increment primary key,
filename varchar(50) not null,
constraint fidref foreign key (fid) references index_table(fid),
);你看這樣行不行!!
mysql無法建立外來鍵約束
3樓:匿名使用者
1.新增外來鍵報錯,外來鍵無法建立無非這幾種可能(一)確定外來鍵上建立了索引,否則無法建立約束;
(二) 外來鍵的引用型別和主表列型別不一致,比如主鍵是number的,外來鍵是varchar2的;
(三)確定引用的主表列存在;
2.建表報錯上提示此表已存在哦,drop之後再建表。
4樓:匿名使用者
贊同樓上的,樓上的人大神哇
怎樣用sql語句在mysql中建立外來鍵約束關係
5樓:叄肆貳貳零壹
alter table table_name add constraint fk_column_id foreign key(column) references 主鍵表 (column_id);
6樓:匿名使用者
應該是這樣子的,
alter table 表名
add foreign key (外來鍵屬性) references 表名(表屬性)
7樓:黃山
給你個建立了外間約束的例子
看下,這個是我寫的,欄位多了些,不影響
create table if not exists entity(id int auto_increment primary key, hostname char(255), hostip char(32), type int, caption char(255), index (id)) engine=innodb character set utf8 collate utf8_general_ci
create table if not exists hvhost(en_id int, username char(255), password char(255), memory_size bigint, cpu_count int, cpu_frequency bigint, power_state char(16), time char(64), foreign key(en_id) references entity(id) on delete cascade on update cascade) engine=innodb character set utf8 collate utf8_general_ci
mysql錯誤翻譯為不能新增外來鍵約束求解啊
資料型別不一致。你的主表,id 的資料型別是 int unsigned 而你的子表,hoyyb id 資料型別是 int 因為 int m unsigned zerofill 普通大小的整數。帶符號的範圍是 2147483648到2147483647。無符號的範圍是0到4294967295。2種解決...
MySQL中建表不能使用中文欄位嗎
你選擇的編碼方式不對,選擇gb2312,gbk,或utf 8 為了效率和相容性 還是用英文吧 如何利用 mybatis generator生成帶有中文欄位名註釋的bean 想必在利用mybatis generator生成 之後,相比看著一堆雞肋的註釋很多人都和我一樣很糾結,明明資料庫中欄位有註釋,為...
mySql資料庫中用頁面不能插入中文,顯示為?號,請問什麼問題,怎麼解決
編碼問題,因為你從介面獲取的資料 是你本地瀏覽器的編碼,在伺服器端可能用的不是這個編碼 所以在資料傳遞到伺服器的時候 將request.request.setcharacterencoding utf 8 解碼一下 亂碼唄.方法一,命令修改 進入cmd,進入mysql 用show variables...