これは、外部キーで表されるテーブルを作成する方法です
CREATE TABLE `ffxi_characterJob` (
`serverID` int(11) NOT NULL,
`userid` int(10)unsigned NOT NULL,
`characterName` varchar(255) NOT NULL,
`jobAbbr` char(4) NOT NULL,
`jobLevel` int(11) default '0',
PRIMARY KEY (`serverID`,`userid`,`characterName`,`jobAbbr`),
INDEX (`jobAbbr`),
CONSTRAINT FOREIGN KEY (`serverID`,`userid`,`characterName`) REFERENCES `ffxi_characters` (`serverID`,`userid`,`characterName`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT FOREIGN KEY (`jobAbbr`) REFERENCES `ffxi_jobType` (`jobAbbr`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;
このように作成した場合、最初の(プライマリ)テーブルの値を変更すると自動的に削除または更新されます。挿入するには、最初のテーブルの列値と一致する値を挿入する必要があります
emp_id name value
1 aaa 24
2 bbb 23
3 ccc 25
4 ddd 27
pur_id emp_id amount
000 1 500
001 2 100
002 1 50
この 2 番目のテーブルの emp_id は、最初のテーブル emp_id を持つ外部キー ref であるため、最初のテーブルの値と一致する必要があります
$query = "INSERT INTO paycheck(payCheckId,jobId,payRate,jobLocation,hoursWorked,startPeriod,endPeriod, empid)
VALUES('','$pay_rate','$job_location','$hours','$start','$end', 'value that you want t0 match from first table')";