• 18-12-2013, 04:19:04
    #1
    Merhaba arkadaşlar;

    örnek olarak elimde isimler diye bir tablo var. Tablo yapısı şu şekilde diyelim,

    ID, isim, soyisim

    normalde sadece isim i unique yapabiliyorum ve "sedat" isminden birtane eklenebiliyor ama ben soyisimide katmak istiyorum yani 10 tane "sedat" ismi eklenebilsin ama "sedat bozkurt" verisi sadece 1 defa eklenebilsin "sedat akdağ", "sedat beyaz" vs. şeklinde veriler eklenebilsin ama "sedat bozkurt" sadece birdefa eklenebilsin birdaha eklenemesin.

    bunu nasıl yapabilirm ?
  • 18-12-2013, 05:27:56
    #2
    sedat adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar;

    örnek olarak elimde isimler diye bir tablo var. Tablo yapısı şu şekilde diyelim,

    ID, isim, soyisim

    normalde sadece isim i unique yapabiliyorum ve "sedat" isminden birtane eklenebiliyor ama ben soyisimide katmak istiyorum yani 10 tane "sedat" ismi eklenebilsin ama "sedat bozkurt" verisi sadece 1 defa eklenebilsin "sedat akdağ", "sedat beyaz" vs. şeklinde veriler eklenebilsin ama "sedat bozkurt" sadece birdefa eklenebilsin birdaha eklenemesin.

    bunu nasıl yapabilirm ?
    hocam bir sitede buldum deneyebilirsiniz
    CREATE TABLE your_table(
    id int unsigned not null auto_increment,
    group_id int unsigned,
    primary key(group_id, id)
    ) ENGINE = MyISAM;
    http://stackoverflow.com/questions/5984345/multiple-unique-columns-but-only-unique-combinations
  • 18-12-2013, 14:07:55
    #3
    CREATE TABLE your_table(
    `etiketid` int unsigned not null auto_increment,
    `etiket` varchar(200) COLLATE utf8_turkish_ci NOT NULL,
    `etiketsef` varchar(200) COLLATE utf8_turkish_ci NOT NULL,
    `dil` varchar(10) COLLATE utf8_turkish_ci NOT NULL,
    primary key(`dil`, `etiketsef`)
    ) ENGINE = MyISAM;
    şöyle birşey yapıyorum ama olmuyor.
    bu tabloda nasıl yapabilirim acaba ?
  • 18-12-2013, 18:12:06
    #4
    sedat adlı üyeden alıntı: mesajı görüntüle
    CREATE TABLE your_table(
    `etiketid` int unsigned not null auto_increment,
    `etiket` varchar(200) COLLATE utf8_turkish_ci NOT NULL,
    `etiketsef` varchar(200) COLLATE utf8_turkish_ci NOT NULL,
    `dil` varchar(10) COLLATE utf8_turkish_ci NOT NULL,
    primary key(`dil`, `etiketsef`)
    ) ENGINE = MyISAM;
    şöyle birşey yapıyorum ama olmuyor.
    bu tabloda nasıl yapabilirim acaba ?
    hocam auto_icrement olan etiketid de primary olmak zorunda

    CREATE TABLE your_table(
    `etiketid` int unsigned NOT NULL AUTO_INCREMENT ,
    `etiket` varchar( 200 ) COLLATE utf8_turkish_ci NOT NULL ,
    `etiketsef` varchar( 200 ) COLLATE utf8_turkish_ci NOT NULL ,
    `dil` varchar( 10 ) COLLATE utf8_turkish_ci NOT NULL ,
    PRIMARY KEY ( `etiketid` , `dil` , `etiketsef` )
    ) ENGINE = MYISAM
    kod denenmiştir...
  • 19-12-2013, 13:44:53
    #5
    ama bu istedigim sunucu vermiyor hocam. etiketid herseferinde zaten degişeceği için hiçbir zaman 3 ü aynı olmayacak.

    benim istedigim, etiketsef "sedat" ve dil "tr" olan içerik sadece 1 defa eklenebilsin.