შეიძლება უცხო გასაღები იყოს null Postgres?
შეიძლება უცხო გასაღები იყოს null Postgres?

ვიდეო: შეიძლება უცხო გასაღები იყოს null Postgres?

ვიდეო: შეიძლება უცხო გასაღები იყოს null Postgres?
ვიდეო: How To Add FOREIGN KEY in Postgresql 2024, მაისი
Anonim

INSERT INTO პროდუქტის ღირებულებებში (11, 'ჯოსთვის', 1); ჩადეთ პროდუქტის ღირებულებებში (22, „ყველასთვის“, NULL ); სავსებით ლეგალურია ბათილის ქონა უცხოური გასაღები სვეტი.

ასევე კითხვაა, შეიძლება თუ არა უცხოური გასაღები იყოს ნული?

ა უცხოური გასაღები ხდის მის ცხრილს დამოკიდებულს სხვა ცხრილზე, რომელსაც ეწოდება მშობელი ცხრილი. ა უცხოური გასაღები შემცველი null მნიშვნელობები არ შეიძლება ემთხვეოდეს მშობლის მნიშვნელობებს გასაღები , როგორც მშობელი გასაღები განმარტებით შეუძლია არ აქვს null ღირებულებები. თუმცა, ა null უცხო გასაღები ღირებულება ყოველთვის მოქმედებს, მიუხედავად მისი ნებისმიერი არა-მნიშვნელობისა null ნაწილები.

გარდა ამისა, როგორ დავამატო უცხო გასაღები PostgreSQL-ში? დამატება CONSTRAINT constraint_name ᲣᲪᲮᲝᲣᲠᲘ ᲒᲐᲡᲐᲦᲔᲑᲘ (c1) ლიტერატურა მშობელი_ცხრილი (p1); ერთი ბოლო შენიშვნა, როცა გინდა დაამატეთ უცხო გასაღები შეზღუდვა ON DELETE CASCADE-ით არსებულ ცხრილზე, თქვენ უნდა შეასრულოთ შემდეგი ნაბიჯები: ჩამოაგდეთ არსებული უცხოური გასაღები შეზღუდვა. დამატება ახალი უცხოური გასაღები შეზღუდვა ON DELETE CASCADE მოქმედებით.

მაშინ, შეიძლება უცხო გასაღები იყოს null mysql?

5 პასუხი. NULLs in უცხო გასაღებები სავსებით მისაღებია. საქმე NULL-ებთან უცხო გასაღებები რთულია, მაგრამ ეს არ ნიშნავს, რომ თქვენ შეცვლით ასეთ სვეტებს NOT-ით NULL და ჩადეთ მატყუარა ("N/A", "Unknown", "No Value" და ა.შ.) ჩანაწერები თქვენს საცნობარო ცხრილებში.

საჭიროა უცხოური გასაღებები?

მას შემდეგ, რაც დანიშნულება უცხოური მთავარია მითითებული ცხრილის კონკრეტული რიგის იდენტიფიცირება, ეს ზოგადად საჭირო რომ უცხოური გასაღები კანდიდატის ტოლია ჩასმა პირველადი ცხრილის ზოგიერთ მწკრივს, ან სხვაგვარად არ აქვს მნიშვნელობა (NULL მნიშვნელობა.). ამ წესს ეწოდება რეფერენციალური მთლიანობის შეზღუდვა ორ ცხრილს შორის.

გირჩევთ: