2017-12-06 19 views
1

ここで間違っているのはわかりませんが仕様を読みましたが、それを理解できません。ユーザーIDを私のストアテーブルにforignキーとして追加したいのですが、エラーを取得1215なぜ私はここで外部キーを作成できませんか?エラー1215(HY000):外部キー制約を追加できません

マイSQLコード:

CREATE TABLE Store (
id int, 
storePersistentId varchar(255), 
storename varchar(255), 
user_id int, 
PRIMARY KEY (id), 
FOREIGN KEY (user_id) 
    REFERENCES user(id) 
); 

Store.java

@Entity 
public class Store { 

//every entity requires an id, and we can make it auto generated 
@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
private int id; 

private String storePersistentId; 
private String storename; 

@ManyToOne 
public User user; 

public Store(User user,String storePersistentId){ 

} 

public Store(){ 

} 

public int getId() { 
    return id; 
} 

public void setId(int id) { 
    this.id = id; 
} 

public String getStorename() { 
    return storename; 
} 

public void setStorename(String storename) { 
    this.storename = storename; 
} 

public User getUser() { 
    return user; 
} 

public void setUser(User user) { 
    this.user = user; 
} 

public String getStorePersistentId() { 
    return storePersistentId; 
} 

public void setStorePersistentId(String storePersistentId) { 
    this.storePersistentId = storePersistentId; 
} 


} 

User.java

@Entity 
public class User { 

@Id 
@Column 
private int id; 

private String username; 
private String password; 


public String getUsername() { 
    return username; 
} 

public void setUsername(String username) { 
    this.username = username; 
} 

public String getPassword() { 
    return password; 
} 

public void setPassword(String password) { 
    this.password = password; 
} 

public User(String username, String password) { 
    this.username = username; 
    this.password = password; 
} 


public User() { 
} 
} 

助けがあれば助かります。 それは確かに小さな間違いですが、私はそれをチェックしてください別の目のセットが必要です。

+0

Storeテーブルにデータがありますか?ユーザーテーブルのIDに対応しないIDを持つ可能性がありますか? – Juan

+0

私はそれを作成しているが、私はできませんので、ストアテーブルのデータはありません。ストアテーブルを作成しようとするとエラー1215が発生する – college1

+0

Storeと同じようにUserテーブルを追加できますか? – Juan

答えて

0
mysql> create table store(id int primary key NOT NULL AUTO_INCREMENT, 
username varchar(255), 
password varchar(255), 
user_id int, foreign key(user_id) 
references user(id)); 

最終的にそれを得ました。

関連する問題