如何才能將以下查詢整合到MySQL中?如何插入後只插入新行插入後運行查詢?
query1
INSERT INTO table (a, b, c ...)
SELECT a, b, c ... FROM table
WHERE code = 888
query2
UPDATE table SET a=?,b=?,...
WHERE code = 888
基本上我需要執行query2僅當query1在表中插入新行時。
如何才能將以下查詢整合到MySQL中?如何插入後只插入新行插入後運行查詢?
query1
INSERT INTO table (a, b, c ...)
SELECT a, b, c ... FROM table
WHERE code = 888
query2
UPDATE table SET a=?,b=?,...
WHERE code = 888
基本上我需要執行query2僅當query1在表中插入新行時。
您可以將這種方式:從表1
INSERT INTO table (a, b, c ...)
SELECT ?, ?, c ... FROM table
WHERE code = 888
選擇數據並將它插入和一些常數值到表B
按照以下流程 我認爲解決您的問題 QUERY1
INSERT INTO table (a, b, c ...)
SELECT a, b, c ... FROM table
WHERE code = 888
$last_id = mysql_insert_id();
query2
UPDATE table SET a=?,b=?,...
WHERE id= $last_id;
不建議使用不推薦使用的'mysql_ *'api – Jens
使用觸發器來解決您的問題。例如:
CREATE TRIGGER MyTrigger AFTER INSERT ON table
FOR EACH ROW
BEGIN
UPDATE table SET a=?,b=?,...
END;
此外,您可以添加條件來檢查插入的值。有關更多詳細信息,請參閱CREATE TRIGGER Syntax主題和examples。
@vSugumar你錯了,請閱讀更多關於MySQL,這是可能的 –
你想創建[觸發](https://dev.mysql.com/doc/refman/5.5/en/create-trigger.html )在更新事件後? – Alexander
獲取插入行的行數...... if($ rows> 0)然後執行更新查詢 – pAsh