【问题标题】:Modify insert into to update修改插入到更新
【发布时间】:2013-06-26 16:50:56
【问题描述】:

我想修改我的代码,而不是仅仅在 MySQL 表中插入一个新行,它可以检查是否有一个具有相同项目编号的行,然后更新它。

php代码

    <?php
    $con=mysqli_connect("localhost","root","root","inventory");

    // Check connection
    if (mysqli_connect_errno($con))
      {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }



     $sql = "INSERT INTO `current stock` (ItemNumber, Stock)
               VALUES
             ('".$_POST['ItemNumber']."', '".$_POST['Stock']."' )";

    if (!mysqli_query($con,$sql))
      {
      die('Error: ' . mysqli_error($con));
      }
     echo "1 record added";


     mysqli_close($con);
     ?>

【问题讨论】:

标签: php mysql insert insert-into


【解决方案1】:

你可以使用ON DUPLICATE KEY UPDATE语法,

$sql = "
   INSERT INTO `current stock` (ItemNumber, Stock)
   VALUES ('$_POST[ItemNumber]', '$_POST[Stock]' )
   ON DUPLICATE KEY UPDATE
   Stock = '$_POST[Stock]'
";

ItemNumber 在这种情况下应该是主键/唯一键

【讨论】:

    猜你喜欢
    • 2021-03-10
    • 1970-01-01
    • 2018-07-02
    • 2010-10-13
    • 2015-11-21
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    相关资源
    最近更新 更多