CREATE TABLE test1 (
user_id int(10)unsigned NOT NULL,
characterName varchar(255) NOT NULL,
PRIMARY KEY (user_id),
) TYPE=InnoDB;


CREATE TABLE test2 (
person_id int(10) unsigned NOT NULL,
person_name varchar(255) NOT NULL,
user_id int(10) unsigned NOT NULL,
PRIMARY KEY (person_id),
INDEX(user_id),
CONSTRAINT FOREIGN KEY (user_id) REFERENCES test1 (user_id)
) TYPE=InnoDB;

CREATE TABLE test3 (
person_id int(10) unsigned NOT NULL,
person_name varchar(255) NOT NULL,
user_id int(10) unsigned NOT NULL,
PRIMARY KEY (person_id),
INDEX(user_id),
CONSTRAINT FOREIGN KEY test3fkname (user_id) REFERENCES test1 (user_id)
) TYPE=InnoDB;

CREATE TABLE test4 (
person_id int(10) unsigned NOT NULL,
person_name varchar(255) NOT NULL,
user_id int(10) unsigned NOT NULL REFERENCES test1(user_id),
PRIMARY KEY (person_id),
INDEX(user_id)
);

CREATE TABLE test5 (
person_id int(10) unsigned NOT NULL,
person_name varchar(255) NOT NULL,
person_id_1 int(10) unsigned,
person_id_2 int(10) unsigned, 
PRIMARY KEY (person_id),
INDEX(person_id_1),
INDEX(person_id_2),
CONSTRAINT FOREIGN KEY (person_id_1) REFERENCES test2 (person_id),
CONSTRAINT FOREIGN KEY (person_id_2) REFERENCES test3 (person_id)
) TYPE=InnoDB;
