我有4个MySQL表带有以下各项:如何从具有主键自动增量的表中将数据插入到具有外键的表中?
user
-user_id PK,AI
-user_name
-user_mobil
-user_passw
-user_email
bookingdetails
-booking_id PK,AI
-booking_date
-booking_time
-person_number
booking
-booking-_id FK
-restaurant_id CK
-user_id CK
restaurant
-restaurant_id PK
-restaurant_name
-restaurant_address
-restaurant_description
我想进行预订,我插入所有bookingdetails数据,这给了我一个AI booking_id,以后我想提出我的预订表并插入restaurant_id和user_id使用bookingdetails表给出的相同booking_id。
我作了如下的代码实现在PHP上的LocalServer:
$booking_date=$_POST["booking_date"];
$booking_time=$_POST["booking_time"];
$number_of_place=$_POST["number_of_place"];
$customer_id=$_POST["customer_id"];
$restaurant_id=$_POST["restaurant_id"];
$res;
$sql_query = "INSERT INTO bookingdetails(booking_date, booking_time, number_of_place) VALUES ('$booking_date','$booking_time', '$number_of_place')";
$sql_query2 = "INSERT INTO `booking`(`booking_id`, `customer_id`, `restaurant_id`) SELECT booking_id, '$customer_id', '$restaurant_id' FROM bookingdetails ORDER BY booking_id DESC LIMIT 1 ;";
if(mysqli_query($con,$sql_query))
{
}
else
{
}
if(mysqli_query($con,$sql_query2))
{
}
else
{
}
?>
那是它加入到Android应用程序的服务器上的合法的解决方案吗?有没有任何情况下,我没有得到第二个查询的好身份证?什么会是更好的解决方案?通过@马克伍
使用在评论给出最后插入ID
使用最后插入的id,标准是你PK必须是AI。 mysqli_insert_id()函数返回在最后一个查询中使用的id(由AUTO_INCREMENT生成)。资料来源:http://www.w3schools.com/php/php_mysql_insert_lastid.asp –
@Mark Ng,把它写成答案,这个问题可以“解决” – davejal
@davejal你可以在手机上写下它 –