如何在php中传递创建表的外键

如何在php中传递创建表的外键,php,mysql,sql,database,Php,Mysql,Sql,Database,这是我的两张桌子,我想把我的客人id作为外键传递到预订桌上。但这是错误的 $sql = "CREATE TABLE MyGuests ( guest_id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP DEFAULT

这是我的两张桌子,我想把我的客人id作为外键传递到预订桌上。但这是错误的

$sql = "CREATE TABLE MyGuests (
    guest_id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    )";

// // sql to create table

$sql = "CREATE TABLE reservation (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
FOREIGN KEY(guest_id) REFERENCES MyGuests(guest_id),
room INT(11) NOT NULL,
price FLOAT(11) NOT NULL,
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

问题在哪里

您还需要将guest_id列添加到您的表预订中

比如:


如何在预订中插入数据?您可以将用户ID保存在会话变量中,也可以将其放入隐藏的POST或GET变量中,这是通常的路标:找出房间费用超过4000 Tk BD的客人的姓名。
$sql = "CREATE TABLE MyGuests (
    guest_id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    )";

// // sql to create table

$sql = "CREATE TABLE reservation (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
guest_id INT(6) UNSIGNED,
room INT(11) NOT NULL,
price FLOAT(11) NOT NULL,
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY(guest_id) REFERENCES MyGuests(guest_id)
)";