[英]MySQL Query INSERT / SELECT / UPDATE last Row
我在 HTML POST 表單中有 3 個 MySQL 查詢。 我想用我的 PHP 腳本更新我插入的最后一個插入行。
我遇到的問題是,它只是在每次第一行而不是我插入的最后一行時更新。
這是我目前的查詢
INSERT INTO
tbl_orders (name,ordered,number,idcard,account)
VALUES
(:name,:carID,:number,:idcard,:account);
INSERT INTO
tbl_money (gesamtWert)
SELECT SUM(amount*price) total
FROM tbl_prices, tbl_car_pos
WHERE cid = :carID AND priceID = productID;
UPDATE
tbl_money
SET tbl_money.orderID = (SELECT tbl_orders.orderID FROM tbl_orders ORDER BY tbl_orders.orderID DESC LIMIT 1)
ORDER BY
orderID
DESC LIMIT 1;
第一個查詢選擇表單操作的值並將其插入到第一個表中。
第二個是對汽車的總價格求和並將其插入到第二個表中。
第三個現在應該 select 第一個查詢的最后一個插入行,並從第二個查詢更新最后一個插入行。 但正如我所說,它更新了第一行。
假設我已插入 ID 為 10 的最后一行,現在插入 ID 為 11 的新行,第三個查詢將更新 ID:1 而不是 ID:11。 因此,如果有人能告訴我我的問題出在哪里,那就太棒了。
將第三個查詢集成到第二個。
不優化,使用直接插入:
INSERT INTO
tbl_orders (name,ordered,number,idcard,account)
VALUES
(:name,:carID,:number,:idcard,:account);
INSERT INTO
tbl_money (gesamtWert, orderID)
SELECT SUM(amount*price),
(SELECT tbl_orders.orderID FROM tbl_orders ORDER BY tbl_orders.orderID DESC LIMIT 1)
FROM tbl_prices, tbl_car_pos
WHERE cid = :carID AND priceID = productID;
如果您使用 PHP,則有一個 function 返回最后插入的 ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.