我的表格看起来像这样:
================================= ==========================
USER NOTE
================================= ==========================
id_u int auto_increment (PK) id_n int auto_increment (PK)
name varchar(50) id_u int (FK)
text varchar(100)
================================= ==========================
我很好奇这个查询是否会在拥有大量用户的网站上造成任何问题。
$query = "INSERT INTO USER VALUES('','john')"; //query
$result = mysql_query($query);
if($result){
$query = "INSERT INTO NOTE VALUES (LAST_INSERT_ID(),'','abc')";
$result = mysql_query($query);
if($result){
echo "success";
}else{
echo "failed";
}
}else{
echo "failed";
}
如果多个用户同时使用此查询,会不会很好?
答案 0 :(得分:0)
当同时从表中选择并插入表时,MySQL会创建一个临时表来保存SELECT中的行,然后将这些行插入到目标表中。但是,当t是TEMPORARY表时,仍然无法使用INSERT INTO t ... SELECT ... FROM t,因为TEMPORARY表在同一语句中不能被引用两次
参考:http://dev.mysql.com/doc/refman/5.7/en/insert-select.html