Hiç veritabanına bir ekleme olduğunu ve nasıl olduğunu yakalamak ne zaman geri bu kaydın kimlik numarası patlar bir mysql tetikleyici kurmak mümkün mü kullanarak php?
Ben tam Sorunuzu anlamıyorum sürece, bu bir tetikleyici gerekmez - sadece veritabanı sürücüsünün "son eklenen ID" işlevini kullanın.
Burada PHP temel mysql sürücüsünü kullanarak bir örnek.
<?php
$db = mysql_connect( 'localhost', 'user', 'pass' );
$result = mysql_query( "insert into table (col1, col2) values ('foo', 'bar')", $db );
$lastId = mysql_insert_id();
Bu kimliği elde etmek için bir bağlantı güvenli bir yoldur.
Önceki cevapları açıklandığı gibi, kimliğini geri dönmek için bir tetikleyici kullanmak gerekmez ediyorum. [Belgelerinde] açıklandığı gibi mysql_insert_id () komutunu kullanabilirsiniz [1].
Eğer bir tetikleyici yeni uç id kullanmanız gerekiyorsa Ancak, kullanım YENİ [identity_column_name] aşağıdaki gibi.:
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
Yapmanız çalıştığınız ne başarmak için bir tetikleyici gerekmez.
Basitçe PHP'nin mysql_insert_id
yürütülen son INSERT sorgusu oluşturulan kimliği dönecektir çağırıyor.
Described here: http://us2.php.net/manual/en/function.mysql-insert-id.php