SORU
30 EKİM 2008, PERŞEMBE


KİMLİĞİ mysql bir tablo, bazan isteğe bağlı (a)

Başka bir geliştirici bir veritabanı elde ettim. Herhangi bir tablo üzerinde auto_incrementers kullanmadı. Hepsi anahtar KİMLİĞİ değil, ama artan elle yaptı, kod birincil var.

Auto_incrementers bu artık açabilir miyim?


Vay be, çok güzel, bir ton teşekkürler. Benim masada bir aksama olmadan çalıştı. Ama ikinci bir tablo, bu hatayı alıyorum...Hata üzerine yeniden adlandır '.\Sql-6c8_62259c DBNAME#''. \\Dealer_master_events DBNAME'

CEVAP
30 EKİM 2008, PERŞEMBE


Örneğin, burada bir birincil anahtar var ama AUTO_INCREMENT olmayan bir tablo

mysql> CREATE TABLE foo (
  id INT NOT NULL,
  PRIMARY KEY (id)
);
mysql> INSERT INTO foo VALUES (1), (2), (5);

8 ** AUTO_INCREMENT seçeneği ile yeniden tanımlamak için sütun:

mysql> ALTER TABLE foo MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;

Bu etkisini göstermeye doğrulayın:

mysql> SHOW CREATE TABLE foo;

Çıkışlar:

CREATE TABLE foo (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1

İkinci bir sütun oluşturmak ve özgün sütun bırakarak gerektirmeden yerde sütun tanımı değiştirilmiş, unutmayın. PRIMARY KEY kısıtlama etkilenmez, ve ALTER TABLE deyiminde söz gerek yok.

Sonraki bir ekleme yeni bir değer üretir test edebilirsiniz:

mysql> INSERT INTO foo () VALUES (); -- yes this is legal syntax
mysql> SELECT * FROM foo;

Çıkışlar:

 ---- 
| id |
 ---- 
|  1 | 
|  2 | 
|  5 | 
|  6 | 
 ---- 
4 rows in set (0.00 sec)

Mac OS X üzerinde MySQL 5.0.51 bu test

Ben de ENGINE=InnoDB ve bağımlı bir tablo ile test edilmiştir. id sütun tanımını değiştirmek tutarlılığı kesmez.

< / ^ hr .

Yorum sizin bahsettiğiniz hata 150 cevap, muhtemelen yabancı anahtar kısıtlamaları ile ilgili bir çakışma var. Test ettim sonra özür dilerim, işe yarayacağını düşünmüştüm. Burada, bu sorunu teşhis etmek için yardımcı olabilir bu bağlantılar bir çift vardır:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bashirsultani

    bashirsultan

    22 Mart 2010
  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010