คำถามติดแท็ก foreign-key-relationship

6
เมื่อใดที่จะใช้“ ON CASCADE UPDATE”
ฉันใช้ "ON DELETE CASCADE" เป็นประจำ แต่ฉันไม่เคยใช้ "ON CASCADE UPDATE" เนื่องจากฉันไม่แน่ใจในสถานการณ์ที่จะเป็นประโยชน์ เพื่อประโยชน์ของการสนทนาให้ดูรหัสบางส่วน CREATE TABLE parent ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) ); CREATE TABLE child ( id INT NOT NULL AUTO_INCREMENT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ); สำหรับ "ON DELETE …

5
`related_name` ใช้สำหรับอะไรใน Django
อะไรคือrelated_nameข้อโต้แย้งที่เป็นประโยชน์สำหรับบนManyToManyFieldและForeignKeyเขต? ตัวอย่างเช่นเมื่อได้รับรหัสต่อไปนี้จะเกิดผลrelated_name='maps'อะไร? class Map(db.Model): members = models.ManyToManyField(User, related_name='maps', verbose_name=_('members'))

3
จุดสิ้นสุดหลักของสมาคมหมายถึงอะไรในความสัมพันธ์ 1: 1 ในกรอบ Entity
public class Foo { public string FooId{get;set;} public Boo Boo{get;set;} } public class Boo { public string BooId{get;set;} public Foo Foo{get;set;} } ฉันพยายามทำสิ่งนี้ใน Entity Framework เมื่อฉันพบข้อผิดพลาด: ไม่สามารถระบุจุดสิ้นสุดหลักของการเชื่อมโยงระหว่างประเภท 'ConsoleApplication5.Boo' และ 'ConsoleApplication5.Foo' จุดสิ้นสุดหลักของการเชื่อมโยงนี้ต้องกำหนดค่าอย่างชัดเจนโดยใช้ API ความคล่องแคล่วของความสัมพันธ์หรือหมายเหตุประกอบข้อมูล ฉันได้เห็นคำถามเกี่ยวกับ StackOverflow ด้วยวิธีแก้ปัญหาสำหรับข้อผิดพลาดนี้ แต่ฉันต้องการเข้าใจความหมายของคำว่า "การสิ้นสุดที่สำคัญ"

1
postgresql ไวยากรณ์คีย์ต่างประเทศ
ฉันมี 2 ตารางดังที่คุณจะเห็นในรหัส posgresql ด้านล่าง นักเรียนในตารางแรกมี 2 คอลัมน์คอลัมน์หนึ่งสำหรับ student_name และ student_id อื่น ๆ ซึ่งเป็นคีย์หลัก ในตารางที่สองของฉันเรียกว่าการทดสอบมี 4 คอลัมน์คอลัมน์หนึ่งสำหรับ subject_id หนึ่งคอลัมน์สำหรับชื่อเรื่องและอีกคอลัมน์สำหรับนักเรียนที่มีคะแนนสูงสุดในวิชาที่สูงที่สุดนักเรียน_id ฉันกำลังพยายามทำให้ maximumStudent_id อ้างถึง student_id ในตารางนักเรียนของฉัน นี่คือรหัสที่ฉันมีด้านล่างฉันไม่แน่ใจว่าไวยากรณ์ถูกต้องหรือไม่: CREATE TABLE students ( student_id SERIAL PRIMARY KEY, player_name TEXT); CREATE TABLE tests ( subject_id SERIAL, subject_name, highestStudent_id SERIAL REFERENCES students); ไวยากรณ์highestStudent_id SERIAL REFERENCES studentsถูกต้องหรือไม่ …

6
SQL เพิ่มคีย์ต่างประเทศในคอลัมน์ที่มีอยู่
ถ้าฉันใช้คำสั่ง SQL ต่อไปนี้ใน SQL Server 2008 เพื่ออัปเดตตารางที่มีข้อ จำกัด ของคีย์ต่างประเทศ: ALTER TABLE Employees ADD FOREIGN KEY (UserID) REFERENCES ActiveDirectories(id) UserIDเป็นคอลัมน์ FK ของฉันในEmployeesตาราง ฉันพยายามอ้างอิงUserIDในActiveDirectoriesตารางของฉัน ฉันได้รับข้อผิดพลาดนี้: คีย์ต่างประเทศ 'UserID' อ้างอิงคอลัมน์ที่ไม่ถูกต้อง 'UserID' ในการอ้างอิงตาราง 'พนักงาน'

4
รหัสเฟรมเวิร์กของเอนทิตี - คีย์นอกที่เป็นโมฆะแรก
ฉันมีUser< Countrymodel. ผู้ใช้เป็นของประเทศ แต่ไม่สามารถอยู่ใน (คีย์นอกที่เป็นค่าว่าง) ฉันจะตั้งค่านี้ได้อย่างไร? เมื่อฉันพยายามแทรกผู้ใช้ด้วยประเทศว่างมันบอกฉันว่ามันไม่สามารถเป็นโมฆะได้ โมเดลมีดังนี้: public class User{ public int CountryId { get; set; } public Country Country { get; set; } } public class Country{ public List<User> Users {get; set;} public int CountryId {get; set;} } ข้อผิดพลาด: A foreign key value cannot be inserted because a …

6
จะเปลี่ยนการดำเนินการอ้างอิงคีย์ต่างประเทศได้อย่างไร (พฤติกรรม)
ฉันได้ตั้งค่าตารางที่มีคอลัมน์ที่มีคีย์ต่างประเทศตั้งค่าเป็นON DELETE CASCADE(ลบลูกเมื่อผู้ปกครองถูกลบ) คำสั่ง SQL จะเปลี่ยนเป็นON DELETE RESTRICTอะไร? (ไม่สามารถลบ parent ได้หากมีลูก)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.