是否有可能建立一個mysql觸發器,在數據庫中插入數據時觸發該記錄的id號,以及如何捕獲使用php?我的SQL觸發器
Q
我的SQL觸發器
3
A
回答
3
除非我不完全理解你的問題,否則你不需要觸發器 - 只需使用數據庫驅動程序的「最後插入的ID」功能即可。
下面是一個在PHP中使用基本mysql驅動程序的示例。
<?php
$db = mysql_connect('localhost', 'user', 'pass');
$result = mysql_query("insert into table (col1, col2) values ('foo', 'bar')", $db);
$lastId = mysql_insert_id();
這是獲取ID的連接安全方式。
1
我不確定你在問什麼。你是否想要在數據庫中插入一行並獲取它分配的ID?如果是這樣做
printf(「最後插入的記錄具有ID%d \ n」,mysql_insert_id());
0
你不需要一個觸發器來完成你正在嘗試做的事情。
簡單地調用PHP的mysql_insert_id
將返回執行的最後一個INSERT查詢生成的ID。
說明如下: http://us2.php.net/manual/en/function.mysql-insert-id.php
2
正如在以前的答案解釋,你不需要使用觸發器返回的身份。您可以使用[documentation] [1]中所述的mysql_insert_id()命令。
但是如果你需要使用新的插入ID在觸發器,利用新的[identity_column_name]如下:
CREATE TABLE temp (
temp_id int auto_increment,
value varchar(10),
PRIMARY_KEY(temp_id)
);
CREATE TRIGGER after_insert_temp AFTER INSERT ON temp
FOR EACH ROW
BEGIN
DECLARE @identity;
SET @identity = NEW.temp_id;
-- do something with @identity
END
相關問題
- 1. SQL Server:觸發器觸發
- 2. SQL觸發器
- 3. SQL觸發器。我如何給觸發器查詢「變量」?
- 4. 我的SQL觸發器更新之前
- 5. 我的sql觸發器,語法錯誤
- 6. 從觸發器(Sybase)中觸發觸發器的sql
- 7. 觸發器pl sql
- 8. Oracle SQL(觸發器)
- 9. SQL Server觸發器
- 10. Sql Server觸發器
- 11. SQL庫觸發器
- 12. Sql Server觸發器
- 13. PL/SQL觸發器
- 14. Sql 2005觸發器
- 15. SQL Server觸發器
- 16. Oracle SQL觸發器
- 17. SQL Oracle觸發器
- 18. SQL觸發器在@
- 19. SQL觸發器工作不幫我
- 20. SQL Server 2005 - 觸發器沒有觸發
- 21. PL/SQL觸發器觸發問題
- 22. SQL觸發器的查詢
- 23. SQL中的觸發器
- 24. SQL觸發器的問題
- 25. SAS SQL上的觸發器
- 26. SQL觸發器的視圖
- 27. Sql觸發器的父子
- 28. 誰觸發了我的觸發器?
- 29. SQL服務器觸發器
- 30. 我在sql server 2008中的第一個sql觸發器