如果我想同时将一些数据插入两个表中,这是否可行?
但是在table2
我只是插入所选项目,而不是插入所有数据的table1
。
这是单独的查询:
$sql = "INSERT INTO table1(model, serial, date, time, qty) VALUES ('star', '0001', '2010-08-23', '13:49:02', '10')";
$sql2 = "INSERT INTO table2(model, date, qty) VALUES ('star', '2010-008-23', '10')";
我可以在table2插入COUNT(model)
吗?
我找到了一些脚本,我可以使用它吗?
$sql = "INSERT INTO table1(model, serial, date, time, qty) VALUES ('star', '0001', '2010-08-23', '13:49:02', '10')";
$result = mysql_query($sql,$conn);
if(isset($model))
{
$model = mysql_insert_id($conn);
$sql2 = "INSERT INTO table2(model, date, qty) VALUES ('star', '2010-008-23', '10')";
$result = mysql_query($sql,$conn);
}
mysql_free_result($result);
答案 0 :(得分:4)
简单的答案是否定的 - 没有办法在一个命令中将数据插入两个表中。很确定你的第二个剧本不是你想要的。
一般来说,这样的问题可以通过其中一种方法解决,具体取决于您的确切需求:
希望这有帮助
答案 1 :(得分:1)
//如果要插入与第一个表相同的内容
$qry = "INSERT INTO table (one, two, three) VALUES('$one','$two','$three')";
$result = @mysql_query($qry);
$qry2 = "INSERT INTO table2 (one,two, three) VVALUES('$one','$two','$three')";
$result = @mysql_query($qry2);
//或者如果你想插入表一的某些部分
$qry = "INSERT INTO table (one, two, three) VALUES('$one','$two','$three')";
$result = @mysql_query($qry);
$qry2 = "INSERT INTO table2 (two) VALUES('$two')";
$result = @mysql_query($qry2);
//我知道它看起来好得令人难以理解,但是它可以工作,你可以继续添加查询只需更改
"$qry"-number and number in @mysql_query($qry"")
答案 2 :(得分:0)
它不能在一个声明中完成,
如果表是由 innodb 引擎创建的,您可以使用transaction确保数据插入到2个表
答案 3 :(得分:0)
<?php
if(isset($_POST['register'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$website = $_POST['website'];
if($username == NULL OR $password == NULL OR $email == NULL OR $website == NULL) {
$final_report2.= "ALERT - Please complete all fields!";
} else {
$create_chat_user = mysql_query("INSERT INTO `chat_members` (`id` , `name` , `pass`) VALUES('' , '$username' , '$password')");
$create_member = mysql_query("INSERT INTO `members` (`id`,`username`, `password`, `email`, `website`) VALUES ('','$username','$password','$email','$website')");
$final_report2.="<meta http-equiv='Refresh' content='0; URL=login.php'>";
}
}
?>
你可以使用这样的东西。有用。
答案 4 :(得分:-1)
一般来说,这是您将数据从一个表单发布到两个表中的方式:
<?php
$dbhost="server_name";
$dbuser="database_user_name";
$dbpass="database_password";
$dbname="database_name";
$con=mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to the database:' . mysql_error());
$mysql_select_db($dbname, $con);
$sql="INSERT INTO table1 (table1id, columnA, columnB)
VALUES (' ', '$_POST[columnA value]','$_POST[columnB value]')";
mysql_query($sql);
$lastid=mysql_insert_id();
$sql2=INSERT INTO table2 (table1id, table2id, columnA, columnB)
VALUES ($lastid, ' ', '$_POST[columnA value]','$_POST[columnB value]')";
//tableid1 & tableid2 are auto-incrementing primary keys
mysql_query($sql2);
mysql_close($con);
?>
//此示例显示如何将表单中的数据插入到多个表中,我没有显示任何安全措施