MYSQL

2013-04-19 13 views
8

'daki değerler otomatik kimlik sütununa nasıl eklenir? Mysql innodb tablo Auto_Increment sütununa değerler eklemek istiyorum.MYSQL

Eski bir tablodan bir kimlik içeren yeni tabloya bazı verileri yüklüyorum ve varolan değerleri eski tablodan korumalıyım, bu nedenle mevcut Id değerlerini korumalıyım, ancak Auto_Increment sütununu yeni için saklamam gerekir değerler.

MS T-SQL uygulamasında,sorgu komut dosyasını SET SET IDENTITY_INSERT MyTable ON ile başlatabilir ve SET SET IDENTITY_INSERT MyTable OFF numaralı sorguyu sonlandırırdım.

Aynısını MySQL'de nasıl yapabilirim? değerler başka bir masaya geliyor gelen varsa, kullanabilir

INSERT INTO my_table(auto_inc_field, other_field) VALUES(8547, 'some value'); 

:

+0

Neden? MySQL değeri otomatik olarak uygun değil midir? –

+0

Sütuna neden girmeniz gerekiyorsa bir Otomatik Kimlik nedir? –

+0

Otomatik kimlik sütunları otomatik olarak MySQL tarafından doldurulur. Farklı bir sayı istiyorsanız, ayrı bir alan tutmalısınız. –

cevap

5

Her zamanki gibi yok

INSERT INTO my_table(auto_inc_field, other_field) 
SELECT auto_inc_field, other_field FROM other_table; 
+2

Ve veri aktarırsanız, auto_inc_field'daki tamsayı 0 veya NULL ise üretilecek yepyeni bir kimlik değeriyle devam edersiniz. msgstr "Yabancı anahtar kısıtlaması ihlali xxx". Bu cevap, sorudan ziyade reddedilmeyi hak ediyor ... –

+0

Kimse benim gibi aynı şeyi yapıyorsa ve bir ID ile satır eklediyseniz. Auto_inc_field öğesini 'ALTER TABLE test AUTO_INCREMENT = 10' kullanarak elle ayarlayabilirsiniz - burada 10, eklenen satır için kullanılacak sonraki değerdir. –