2015-01-21 126 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该行,如果由于重复键而不能完成,它会替换与您提供的值冲突的整行。