2015-01-21 124 views
-5

檢查表是否有可用的值更新,如果不可用則插入。 例如: 如果今天的日期可用,只更新員工姓名,但是如果今天有行插入它。Mysql:如何使用if/elseif

+1

顯示你嘗試過什麼。 – 2015-01-21 05:04:39

+0

在IF和ELSE條件下使用mysql循環 – 2015-01-21 05:05:39

+1

你有沒有嘗試過任何代碼 – 2015-01-21 05:06:09

回答

0
HI First use SELECT query to find record which you want to update or insert exists in your table use mysql_num_rows() to find it, 

Then use if else statement 

    if($numrows != '') 
    { 
     echo "your update query here"; 
     } 
    else { 
     echo "your insert query here"; 
     } 
0

如果date列上有一個唯一的密鑰,然後

INSERT INTO employees (...) VALUES (...) ON DUPLICATE KEY UPDATE name = ...; 

這將嘗試插入行,但如果這樣的日期已經存在,那麼它將在重複鍵,在這種情況下它只會更新具有重複鍵的行的名稱。

(讓我強調:對於這個工作,你需要對date列的唯一密鑰)

欲瞭解更多詳情,請參閱http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

此外,REPLACE是另一種解決方案,它可能會在你的工作案例:http://dev.mysql.com/doc/refman/5.0/en/replace.html

隨着REPLACE你只要運行

REPLACE INTO employees (...) VALUES (...); 

就像您正在運行INSERT一樣。它的工作方式是嘗試INSERT該行,如果由於重複鍵而不能完成,它會替換與您提供的值衝突的整行。