你好我有一个表A,我希望当一个新值(不是UPDATE)插入到该表中以在表B中执行INSERT时,我尝试使用$ query INSERT INTO的响应来播放... ON DUPLICATE KEY UPDATE但没有运气,它总是返回1.
$query = "INSERT INTO table ".$fields." VALUES ".$values." ON DUPLICATE KEY UPDATE updated=1"
$response = $dbc->query($query);
if($response == 1)
我也试过'hack'让我们说,把UPDATE置于INSERT之上,这样如果条目不存在失败但是每次都返回1。
$query = "UPDATE table SET updated=1 ..;
$response = $dbc->query($query);
if($response == 1)
答案 0 :(得分:0)
这应该有效:
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
mysqli_query($link, "INSERT INTO tableA ".$fields." VALUES ".$values." ON DUPLICATE KEY UPDATE updated=1");
if(mysqli_affected_rows($link)==1)
{
mysqli_query($link, "INSERT INTO tableB ".$fields." VALUES ".$values.");
}
?>
答案 1 :(得分:0)
感谢@boomoto帮助我找到答案:
$query = "UPDATE tableA ..
$response = $dbc->query($query);
if(mysqli_affected_rows($dbc)==0){
$query2 = "INSERT INTO tableB ..
$response2 = $dbc->query($query2);
$query = "INSERT INTO tableA ..
$response = $dbc->query($query);
}
}