将值插入mysql表

时间:2013-03-16 07:41:45

标签: php mysql session

我在插入另一个表的外键值时出现问题。

我有两个表,一个是用户,另一个是薪水。这是我的paycheck表,其中包含empId,它是另一个名为users

的表的外键
$query = "INSERT INTO paycheck(payCheckId, jobId, payRate,
            jobLocation, hoursWorked, startPeriod, endPeriod, empId)
          VALUES('', '$pay_rate', '$job_location', '$hours',
            '$start', '$end', 'DONT KNOW WHAT TO PUT HERE ')";
$result = mysqli_query($db, $query); //we make the query

我不确定将什么值放入empId,所有值都来自文本框。

1 个答案:

答案 0 :(得分:0)

这是创建表示外键的方法

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

在第二个表中,emp_id是一个带有第一个表emp_id的外键引用,所以你需要来自第一个表的匹配值

$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')";