Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Mysql अद्वितीय बाधा एक संयोजन के लिए एकल पंक्ति की अनुमति देता है

एक सामान्य ऐसा करने का तरीका डिफ़ॉल्ट मूल्य रखने के लिए एक अलग तालिका निकालना है:

CREATE TABLE price (
    name VARCHAR(255),
    price INT,
    PRIMARY KEY (name, price)
) ;

CREATE TABLE defaultPrice (
    name VARCHAR(255),
    price INT,
    PRIMARY KEY (name),
    FOREIGN KEY(name, price) REFERENCES price(name, price)
);

अधिकांश लोग सरोगेट कुंजियों को शुरू करने की सलाह देंगे:

CREATE TABLE item (
    id INT PRIMARY KEY,
    name VARCHAR(255),
    UNIQUE(name)
);

CREATE TABLE price (
    itemId INT,
    price INT,
    PRIMARY KEY (itemId, price),
    FOREIGN KEY (itemId) REFERENCES item (id)
) ;

CREATE TABLE defaultPrice (
    itemId INT,
    price INT,
    PRIMARY KEY (itemId),
    FOREIGN KEY (itemId, price) REFERENCES price (itemId, price)
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या सभी टेक्स्ट-आधारित फ़ील्ड के लिए जेनेरिक वर्चर (255) का उपयोग करने के नुकसान हैं?

  2. एसक्यूएल (MySQL) में किसी विशेष क्षेत्र पर राउंड रॉबिन ऑर्डर करने का कोई तरीका है?

  3. PHP/MySQL के साथ मैसेजिंग सिस्टम

  4. प्रोपराइटरी से ओपन सोर्स डेटाबेस में माइग्रेट करने के लिए टिप्स

  5. MySQL शेल (प्लस MySQL राउटर) के साथ MySQL InnoDB क्लस्टर की स्थापना