我有两个表,我试图将数据插入到使用PHP中
Table: WINE
-----------------------------------------------------------------
| wine_id | wine_type | country | indicator | color |
-----------------------------------------------------------------wine_id是自动递增的,这是我的另一个表
Table: stock
--------------------------------------
| stock_id | wine_id | quantity |
--------------------------------------对于股票表,我有自动递增的股票ID,wine_id是外键,所以我只需要插入quantity。
我有这样的语法:
$sql = mysql_query("INSERT INTO TABLE1(field1, field2, field3) VALUES('value1',value2,value3) INSERT INTO STOCK(field) VALUES ('value1')");如果有其他方法,请提出建议,我想举几个例子。
发布于 2014-03-13 16:10:08
您需要用分号分隔两个INSERT语句。
这个(mysql_*)扩展在PHP 5.5.0中不再受欢迎,并将在将来被删除。相反,应该使用MySQLi或PDO_MySQL扩展。切换到PreparedStatements会更好地抵御SQL注入攻击!
发布于 2014-03-13 16:11:49
您可以运行多个插入,但是不能从一个INSERT语句插入到两个表中。还要确保为外键获取最后插入的带有LAST_INSERT_ID()的ID,并在两个插入之间使用分号;。
发布于 2014-03-13 16:28:36
从外表上看,你想做的是:
wine表wine表中获取IDstock表中查询不支持多个查询。因此,我的建议是:
$result = mysql_query("INSERT INTO `wine` (`wine_type`, `country`, `indicator`, `colour`) VALUES ('Merlot', 'Australia', 'Dry', 'Red')");
$result = mysql_query("INSERT INTO `stock` (`wine_id`, `quantity`) VALUES ('".mysql_insert_id()."', '0');");当然,修改要考虑到你自己的变量和卫生设施的价值。如前所述,mysql_函数已不再受欢迎,您最好在不久的将来将数据库迁移到PDO结构中。
https://stackoverflow.com/questions/22384391
复制相似问题