使用附加列从表插入到另一个表

yhxst69z  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(183)

我使用php将数据从一个表插入到另一个具有附加列的表中,然后从第一个表中删除行。但是,我似乎无法让它工作:

public function insertReq($dID, $bphone)
    {
            $stmt = $this->conn->prepare("INSERT INTO RequestedDevices(dID, deviceName, Medical, Description, Educational, DevicePicture, bphone) VALUES((SELECT id, deviceName, Medical, Description, Educational, DevicePicture WHERE id = ?), ?)");
           $stmt->bind_param("ss", $dID, $bphone);
            $flag = $stmt->execute();
            $stmt1 = $this->conn->prepare("DELETE FROM DEVICE WHERE id= ? ");
            $stmt1->bind_param("s", $dID);
            $flag1 = $stmt1->execute();
            if ($flag & flag1) {
                return ADDED;
            } else {
                return NOT_ADDED;

            }

        }
xwbd5t1u

xwbd5t1u1#

您需要在select中包含附加列作为常量,并且在select周围不需要value()

public function insertReq($dID, $bphone)
{
        $stmt = $this->conn->prepare("INSERT INTO RequestedDevices(dID, deviceName, Medical, Description, Educational, DevicePicture, bphone) SELECT id, deviceName, Medical, Description, Educational, DevicePicture, ? WHERE id = ? from TABLE NAME )");
        $flag = $stmt->execute(["someAdditionalColumData", "someID"]);
        $stmt1 = $this->conn->prepare("DELETE FROM DEVICE WHERE id= ? ");
        $flag1 = $stmt1->execute(["originalTableID"]);
        if ($flag & flag1) {
            return ADDED;
        } else {
            return NOT_ADDED;
        }
    }

相关问题