[joomla][mysql] mysql 有則修改 無則新增

日期:2016/07/14

大家好,一般來說,要新增一筆資料,需要注意主鍵是否重複,否則新增會失敗,所以程序會變成:
 
先查詢是否有重複:
有 => update 更新資料
無 => insert 新增資料
 
所以...相當麻煩,總共要寫3個query,所以我找一下,發現 mysql 原本就有蠻方便的寫法:
 
$db = JFactory::getDBO();
$insertQuery = $db->getQuery(true);
$insertQuery->insert('#__test')
    ->set("guid = 10 ")
    ->set("name = ".$db->quote("王小明"));

$updateQuery = "guid = 10".
    ",name = ".$db->quote("王小明");

$query = $insertQuery.' ON DUPLICATE KEY UPDATE '.$updateQuery;
$db->setQuery($query);
$db->execute();


 
上面是使用 joomla DBO 物件的寫法,下面列出SQL:
 
INSERT #__test SET guid = 10,name = "王小明" ON DUPLICATE KEY UPDATE guid = 10,name = "王小明"
給大家參考囉,感恩。
 

相關文章

[MYSQL]mysql error 1356 view

【MYSQL】SQL:跨資料表的檢索

留言板

歡迎留下建議與分享!希望一起交流!感恩!

comments powered by Disqus