我在Mysql-
中遇到了我的UPDATE查询问题mysql_query( INSERT INTO `cost`
SET `cat_id` = '18', `feature_id` = '77', `type_id` = '5',
`cost_from` = '600', `cost_to` = '800'
WHERE `type_id` = 5 && `cat_id` = 18 && `feature_id` = 77");
type_id
= 5不在我当前的表中,我想设置我的新值
结果是不成功。
我还尝试了相同的
的UPDATE查询mysql_query( Update `cost`
SET `cat_id` = '18', `feature_id` = '77', `type_id` = '5',
`cost_from` = '600', `cost_to` = '800'
WHERE `type_id` = 5 && `cat_id` = 18 && `feature_id` = 77");
如何同时插入和更新值?
答案 0 :(得分:1)
注意:
cost
的表格以及cat_id
,feature_id
,cost_from
,cost_to
,type_id
列。< / LI>
cost
表格列。似乎不对。INSERT
和UPDATE
。不这样做。您可以,我认为所有会看到您的代码的人的建议,使用mysql_* prepared statements
创建更好的查询。
INSERT查询的一个简单示例如下所示:
/* PREPARE YOUR QUERY */
$stmt = $con->prepare("INSERT INTO cost (cat_id, feature_id, type_id, cost_from, cost_to) VALUES (?,?,?,?,?)");
/* BIND PARAMETER TO THE QUERY. REPLACE NECESSARY VALUE OR VARIABLE */
$stmt->bind_param('iiiss', $catid,$featureid,$typeid,$costfrom,$costto);
$stmt->execute(); /* EXECUTE QUERY */
UPDATE查询的一个简单示例:
/* PREPARE YOUR QUERY */
$stmt = $con->prepare("UPDATE cost SET cat_id=?, feature_id=?, type_id=?, cost_from=?, cost_to=? WHERE id=?");
/* BIND PARAMETER TO THE QUERY. REPLACE NECESSARY VALUE OR VARIABLE */
$stmt->bind_param('iiissi', $catid,$featureid,$typeid,$costfrom,$costto,$id);
$stmt->execute(); /* EXECUTE QUERY */
答案 1 :(得分:0)
首先,您不能将'set'与'insert into'一起使用,如果您想同时插入和更新查询,那么您最好的选择是使用事务。 (你必须在事务中包含插入和更新查询),你不能将它们都包含在一个sql语句中。
这篇文章可能会对你有帮助 SQL Update,Delete And Insert In Same Time