只是在做MySQL的使用工作正常的INSERT ...IF NOT EXISTS是否存在mySQL查詢?
mysql_query("INSERT INTO FLIGHTS_AVAILABLE
(aircraftID, aircraftType, maxSeats) VALUES('$theaircraftID', '$addType', '$maxCapacity' ) ")
or die(mysql_error());
echo '<p>';
echo "The following details were added into the database:";
echo "<hr>";
echo $theaircraftID . $addType . $maxCapacity;
這工作得很好,但是我在網上看了看,雖然我已經聽到了一個名爲IF NOT EXISTS功能,目前還沒有很好的解釋網上有關它的使用。如果例如$ theaircraftID = 10,並且數據庫中已經存在一行aircraftID = 10的行,那麼查詢將不會運行?是否有無論如何,我可以在上面運行此查詢。
感謝您可能能夠提出任何幫助,
湯姆
當然,我會放棄這一點,謝謝。有無論如何,我可以迴應我自己的錯誤消息以及如果由於唯一索引而不執行INSERT消息?謝謝@FritsvanCampen - Tom Gillespie 6秒前編輯 – 2012-04-21 16:11:07
是的,您可以使用'mysql_errno'和'mysql_error'來獲取有關錯誤的詳細信息。重複鍵約束錯誤具有唯一的「errno」。這應該給你足夠強大的異常處理。 – Halcyon 2012-04-21 16:17:42
@FritzvanCampen也許我沒有很好地解釋自己,我的意思是,如果由於唯一索引導致的mysql_error導致INSERT無法正常工作,我可以說echo「Values added」; – 2012-04-21 16:21:01