MySQL 데이터베이스를 작업 중입니다. 나는 그것에 익숙하지 않기 때문에 나는 문제에 직면하고있다. 문제는 상위 테이블을 참조하는 외래 키로 하위 테이블을 채우는 것입니다. 나는이 두 테이블 다음과 같은 열이자식 테이블을 외래 키로 채우는 방법 - MySql
- 기본 키 ID을 포함
employee
, - FIRST_NAME
- LAST_NAME
- birth_date
과 0,123,631
- 심판 다음이 포함표
employeeId
기본 키 id
의를 참조하는 외래 키
employee
테이블 간단히 말해 동일한 ID를 가진 직원이 여러 권의 책을 빌릴 수 있습니다. 직원 테이블에 데이터를 삽입 할 때 빌려온 테이블에 데이터를 삽입해야 할 때 employeeId 열에 값을 수동으로 삽입해야합니다. 자동으로 채워지는 것이 아닌가요? 또는 나는 외래 키의 개념을 오해하고있다. 나는이 필요 내 SQL 코드
$uname = "root";
$pass = "";
$sname ="localhost";
$db ="nady";
//Making database connection
$con = mysqli_connect($sname,$uname,$pass,$db);
$t1 = "CREATE TABLE IF NOT EXISTS employee (
\t id smallint(5) unsigned AUTO_INCREMENT NOT NULL,
\t firstname varchar(30),
\t lastname varchar(30),
\t birthdate date,
\t PRIMARY KEY (id)
) ENGINE=InnoDB";
$con->query($t1);
$t2 = "CREATE TABLE IF NOT EXISTS borrowed (
\t ref int(10) unsigned NOT NULL auto_increment,
\t employeeid smallint(5) unsigned NOT NULL,
\t book varchar(50),
\t PRIMARY KEY (ref),
\t FOREIGN KEY (employeeid) REFERENCES employee(id) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB";
$con->query($t2);
if(!$con->query($t2)){
\t echo $con->error;
}
$i1 = "INSERT INTO employee VALUES(NULL,\"Nadeem\",\"Ahmad\",22)";
$con->query($i1);
$i2 = "INSERT INTO borrowed VALUES(NULL,1,\"Ahmad\")";
$con->query($i2);
if(!$con->query($i2)){
\t echo $con->error;
}
간단한; 예를 들어 ID가 이고 직원이 인 직원이 있습니다. 3 권의 책을 빌린 사람. 따라서 빌려온 테이블에서 employeeId 열은 값이 이고 책 이름이 다른 세 개의 행을 갖습니다. 필자가 employeeId 열에 데이터를 삽입 할 때 employeeId 열을 채우는 방법은 무엇입니까? 예를 들어, John은 3 권의 책을 빌려 왔고 ID가 1 인 경우 john의 employeeId를 사용하여 빌린 테이블에 데이터를 삽입하는 방법은 무엇입니까? 나는 그것에 대한 질의가 필요하다. 또한 존이 빌린 책을 검색하기 위해 질의합니다.
차용인의 직원 ID는 직원이 대여 한 책의 ID와 함께 차용 한 양식에서 가져옵니다. – Shadow
@Shadow 폼을 통해 채워야합니다. 이 사람 ID가 1 또는 2 또는 3인지 알 수 있습니까? – Nadeem
ID와 직원 이름을 쿼리합니다. – Shadow