2017-10-31 6 views
0

をクリートすることはできません、あなたはint型を見ることができるとして、それは同じ型を持っている(6) nullでないが、私はまだこのERROを取得していますは、私はすでにフィールドを確認しなかった、私はこのコードを怒鳴るなどの外部キーをクリートしようとしていますが、私は次のエラーを取得しています外部キーのmysql

#1005 - creatのテーブルunicesumar.br_funcionarios(。ノーERRO 150 "外部キー制約が間違って形成されている")することはできません

CREATE TABLE `br_users` (
    `ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, 
    `COD_USER` int(6) NOT NULL, 
    `SUPERIOR` int(6) DEFAULT NULL, 
    `AREA` int(11) DEFAULT NULL, 
    `SENHA` varchar(32) DEFAULT NULL, 
    `ATIVO` int(1) NOT NULL 
); 

CREATE TABLE `br_funcionarios` (
`ID` int(11) PRIMARY KEY AUTO_INCREMENT, 
`COD_USER_FK` int(6) NOT NULL, 
`CPF` int(11) DEFAULT NULL, 
`RG` varchar(15) DEFAULT NULL, 
`TELEFONE` varchar(255) DEFAULT NULL, 
`ENDERECO` varchar(255) DEFAULT NULL, 
`EMAIL` varchar(255) DEFAULT NULL, 
`CTP` varchar(50) DEFAULT NULL, 
`NOME` varchar(255) DEFAULT NULL, 
    FOREIGN KEY(COD_USER_FK) REFERENCES BR_USERS(COD_USER) 
) 

私はMySQLを使用していますxampp上でphpMyAdmin経由で 私はすでにそれについてのグーグルでbいくつかのいずれかが私を助けることができるUTは、私はまだあなたがテーブルの主キーを参照する必要があるおかげで

+0

'br_users.cod_user'は外部キーとしてマークするためには' unique'である必要があります。 – Forbs

答えて

1

この状況 に貼り付けています。

は何br_usersで同じCOD_USERを持つ2つの異なるレコードを持つのあなたを止めるでしょうか?レコードが参照されなければならないような場合には

+0

idは - それは私の問題を解決し、あなたに感謝自動生成されたコードで、cod_userはあなたがユーザーごとにレコード生成することができ、手動でコードです、私はID –

+0

にそれを参照してくださいしようとするでしょう私はIDを削除し、cod_userを作りましたauto_incrementを使わずにbr_usersの主キーとして使用すると、うまくいきました:) –

関連する問題