2012-11-26 32 views
6

Temelde ben
product_id sadece intOtondrement değerini insertte başka bir sütuna kopyala? Bir ürünün ilk olduğunda

olduğunu versiyonları ürünleri,

yüzden ilgi iki sütunu olan bir tablo, id | product_id

id bir autoincrement sütundur var product_id tarafından oluşturulan id, 'dan gelir. Ürün düzenlendiğinde, satırı çoğaltırız, böylece product_id aynıdır, ancak kimlik farklıdır ent. bu yüzden ilk iki sorguları yapmak ürünü, daha sonra update table whatever set product_id = id where id = {the insert id}

Bu çalışır, ancak bir sorguda bunu yapmanın bir yolu olup olmadığını merak ediyorum

insert, oluşturduğunuzda?

Not: Yalnızca eklemek, güncelleştirmek ve silmek için erişimimiz var. Tetikleyici veya saklı prosedür yok.

update table whatever set 
product_id = id 
where id = last_insert_id() 

cevap

2

LAST_INSERT_ID() işlevini kullanın

yapıyoruz, ancak sırasında iki değeri bağlamak için bir yol olup olmadığını merak ediyorum aslında ne var
insert into whatever 
set product_id = last_insert_id() + 1; 
+2

insert? – Hailwood

+0

Bir sonraki inkrement değerini bulmak için katalog tablosunu sorgulayabilirsiniz. Unutmuyorum ki hangisi – Bohemian

+3

Bu soruya bir cevap sormadı – inemanja

0

Bu tek sorgu:

+1

Satır eklediğiniz birden fazla tablonuz varsa, bunun çalışması garanti edilemez. –