Php 获取外键
我是一个自学成才的程序员,从几天开始我就非常困惑。我在一个招聘网站的后台工作。用户可以发布作业,我有三个表:Php 获取外键,php,sql,Php,Sql,我是一个自学成才的程序员,从几天开始我就非常困惑。我在一个招聘网站的后台工作。用户可以发布作业,我有三个表:作业,关键字和要求。job\u id是jobs的主键,也是关键字表中的外键。现在,我只能在作业表中插入数据,而无法在关键字表中键入任何内容。每个job\u id可以有多个关键字 SQL-作业表 CREATE TABLE `jobs` ( `title` text NOT NULL, `type` text NOT NULL, `location` text NOT NULL,
作业
,关键字
和要求
。job\u id
是jobs
的主键,也是关键字表中的外键。现在,我只能在作业
表中插入数据,而无法在关键字
表中键入任何内容。每个job\u id
可以有多个关键字
SQL-作业表
CREATE TABLE `jobs` (
`title` text NOT NULL,
`type` text NOT NULL,
`location` text NOT NULL,
`salary` int(11) NOT NULL,
`description` text NOT NULL,
`date` date NOT NULL,
`job_id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`job_id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=latin1;
CREATE TABLE `keywords` (
`keyword_id` int(11) NOT NULL AUTO_INCREMENT,
`keyword` text NOT NULL,
`job_id` int(11) NOT NULL,
PRIMARY KEY (`keyword_id`),
KEY `job_id` (`job_id`),
CONSTRAINT `keywords_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `jobs` (`job_id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1;
SQL-关键字表
CREATE TABLE `jobs` (
`title` text NOT NULL,
`type` text NOT NULL,
`location` text NOT NULL,
`salary` int(11) NOT NULL,
`description` text NOT NULL,
`date` date NOT NULL,
`job_id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`job_id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=latin1;
CREATE TABLE `keywords` (
`keyword_id` int(11) NOT NULL AUTO_INCREMENT,
`keyword` text NOT NULL,
`job_id` int(11) NOT NULL,
PRIMARY KEY (`keyword_id`),
KEY `job_id` (`job_id`),
CONSTRAINT `keywords_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `jobs` (`job_id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=latin1;
PHP(我知道代码还不安全,但我只想先了解一下)
获取插入id并使用它:
mysqli_query($link, ".....");
$insert_id = mysqli_insert_id($link);
foreach ($keywords as $keyword){
mysqli_query($link, "INSERT INTO keywords (`job_id`, `keyword`) VALUES ($insert_id, '$keyword')");
}
谢谢,我将尝试仅当此列实际自动递增时它才起作用。您要查询什么?在关键字表中创建一个新行,将作业id
作为外键,关键字id
作为主键,并将关键字存储在数组中: