如何在php中传递创建表的外键
这是我的两张桌子,我想把我的客人id作为外键传递到预订桌上。但这是错误的如何在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
$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)
)";