Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để sử dụng CẬP NHẬT KHÓA KÉP TRONG PDO với mysql?

Bạn có thể sử dụng VALUES() của MySQL chức năng:

Do đó, trong trường hợp của bạn:

ON DUPLICATE KEY UPDATE expiry = VALUES(expiry)

Ngoài ra, bạn có thể tạo tham số thứ tư mà bạn ràng buộc $expiry một lần nữa:

$sql = "INSERT INTO $table (user_id, licence, expiry)
                        VALUES (
                        :user_id,
                        :licence,
                        :expiry)
    ON DUPLICATE KEY UPDATE expiry = :another";


try {
    $dbh = new PDO('login info here');
    $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    $stmt = $dbh->prepare($sql);
    $stmt->bindParam(':user_id', $userID , PDO::PARAM_INT);
    $stmt->bindParam(':licence', $licence, PDO::PARAM_STR);
    $stmt->bindParam(':expiry' , $expiry , PDO::PARAM_STR);
    $stmt->bindParam(':another', $expiry , PDO::PARAM_STR);
    $stmt->execute();
    // etc.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. symfony 1.4 propel:build-all không hoạt động trên Mysql 5.5

  2. Cách loại bỏ giá trị mặc định của cột trong MySQL

  3. Bảng cha và bảng con trong Cơ sở dữ liệu là gì?

  4. MySQL Regexp có hỗ trợ khớp Unicode không

  5. Cập nhật bằng cách sử dụng câu lệnh PDO