PHP Mysql CHECK行如果存在id

时间:2012-07-15 14:55:52

标签: php mysql

我的脚本是否正确? 我想要的是检查id是否存在然后UPDATE如果不存在则INSERT。

$sqlCheckRow = mysql_query( "SELECT * FROM wctilerack WHERE gameID = '$up_gameID' " ) or die ( mysql_error() );
$rowCounted = mysql_num_rows( $sqlCheckRow );
if ( $rowCounted == '0' ) {
    // INSERT wctilerack
    $sqlTileINSERT = mysql_query( "INSERT INTO wctilerack VALUE('', '$up_gameID', '$up_email_player1', '$playerRack' ) ") or die ( mysql_error() );
} elseif ( $rowCounted == '1' ) {
    // INSERT wctilerack
    $sqlTileINSERT = mysql_query( "UPDATE wctilerack SET tiles = '$playerRack' WHERE gamedID = '$up_gameID'  ") or die ( mysql_error() );
}

我测试了它的工作原理我只想确认过程是否正确。

谢谢

3 个答案:

答案 0 :(得分:1)

你可以像这样写

INSERT INTO wctilerack VALUES ('', '$up_gameID', '$up_email_player1', '$playerRack')
  ON DUPLICATE KEY UPDATE tiles='$playerRack';

答案 1 :(得分:1)

您也可以这样做

if (empty($rowCounted)) 
{
    $sqlTileINSERT = mysql_query( "INSERT INTO wctilerack VALUE('', '$up_gameID', '$up_email_player1', '$playerRack' ) ") or die ( mysql_error() );
}
else
{
    $sqlTileINSERT = mysql_query( "UPDATE wctilerack SET tiles = '$playerRack' WHERE gamedID = '$up_gameID'  ") or die ( mysql_error() );
}

答案 2 :(得分:0)

试试这个::

INSERT into table values (vcolumn1, vcolumn2) on duplicate key update set column1=vcolumn1, column2=volumn2