Table of Contents
Ten przewodnik ma na celu pomóc ci, gdy otrzymasz błąd SQL numer 1452.
Przywróć komputer do maksymalnej wydajności w ciągu kilku minut!
Błąd MySQL 1452. Nie można dodać lub rozwinąć wiersza podrzędnego: Nie można wykonać dziwacznego ograniczenia klucza? Ten błąd występuje w równym stopniu, gdy dodamy ograniczenie „Najważniejsze z zagranicy” między tabelami i osadzamy rejestry karne na odwrocie podrzędnym. Błąd pojawia się, gdy chcesz dodać wiersz, który wykonując turę nie ma odpowiedniego wiersza w innych tabelach.
Co powinno być wiersz podrzędny?
Opis. Jak widzi osoba, DataTables ma skłonność do wyświetlania wierszy podrzędnych tylko dla pojedynczego wiersza (nazywanego „wierszem nadrzędnym”, jeśli chodzi o tę dokumentację, aby odróżnić je wkrótce po wierszach podrzędnych). Te podciągi są dopasowywane do każdego nadrzędnego krótkiego tekstu dodatkowo, mogą być użyte jako przesłanka w celu dostarczenia dodatkowych informacji o tym, który z kolei nadrzędny ciąg lub formularz odroczenia.
Stworzyłem tabele w MySQL Workbench, tak jak poniżej:
CREATE TABLE Polecenie ( ID zamówienia INT NOT NULL, Data zamówienia DATA DOMYŚLNIE NULL, ID klienta INT DEFAULT NULL, LIMIT Ordre_pk KLUCZ PODSTAWOWY (OrdreID), LIMIT Ordre_fk KLUCZ OBCY (CustomerID) REFERENCJE Klient (customerid)) SILNIK=InnoDB;
UTWÓRZ TABELĘ PRODUKTÓW ( ID produktu INT NOT NULL Opis produktu VARCHAR (100) DEFAULT NULL, ProductColor VARCHAR(20) DEFAULT NULL, obiekt INT STANDARD NULL, LIMIT Produkt_pk KLUCZ PODSTAWOWY (ID produktu)) SILNIK=InnoDB;
CREATE TABLE Orderlinje ( Instrukcja INT NOT NULL, Produkt INT NIE NULL, Antall Beststilt INT DEFAULT NULL, LIMIT Ordrelinje_pk PRIMARY KEY (zamówienie, produkt), LIMIT Ordrelinje_fk KLUCZ OBCY (Zamówienie) REFERENCJE Zamówienie (OrderID), LIMIT Ordrelinje_fk1 KLUCZ OBCY (Produkt) REFERENCJE Produkt (IDProduktu)) SILNIK zawiera InnoDB;
Więc za każdym razem, gdy próbuję wprowadzić kwotę do tablicy ORDRELINJE
, otrzymuję:
Co to znaczy w przypadku niepowodzenia ograniczenia klucza obcego?
Jeśli ważne ograniczenie klucza obcego nie powiedzie się, mężczyzna lub kobieta nie mogą wstawiać ani aktualizować widoków, jeśli jedna z powiązanych tabel w znacznym stopniu narusza siłę odniesienia zdefiniowaną tylko to ograniczenie. Jest to zwykle zachowanie obowiązkowe w przypadku relacyjnych baz danych.
Kod błędu: 1452. Nie można promować lub aktualizować rzędu smażenia: Twój klucz obcy ograniczenia zdecydowanie nie działa (srdjank
.Ordrelinje
, CONSTRAINT Ordrelinje_fk
ZAGRANICZNE (Zamówienie
) Klucz REF Zamówienie
(OrderID
))
Opublikowałem inne treści na ten temat, ale nie miałem szczęścia.Czy czegoś mi brakuje, czy ktoś wie, co robić?
+----+------------+| identyfikator | nazwa osady |+----+-------------+| 1 | York || para | Manchester || 3 | Londyn || dziewięć | Edynburg |+----+-------------+
UTWÓRZ TABELĘ „Znajomi” ( `firstName` varchar(255) NOT NULL, `city_id` liczba całkowita bez znaku, NIE NULL, KLUCZ GŁÓWNY („nazwa”), LIMIT „znajomi_ibfk_1” KLUCZ OBCY (`city_id`) ODNIESIENIA `Miasta` (`id`))
Przywróć komputer do maksymalnej wydajności w ciągu kilku minut!
Czy Twój komputer działa wolno i stale wyświetla błędy? Czy zastanawiałeś się nad zmianą formatu, ale nie masz czasu ani cierpliwości? Nie bój się, drogi przyjacielu! Odpowiedź na wszystkie Twoje problemy z komputerem jest tutaj: ASR Pro. To niesamowite oprogramowanie naprawi typowe błędy komputera, ochroni Cię przed utratą plików, złośliwym oprogramowaniem, awariami sprzętu i zoptymalizuje komputer pod kątem maksymalnej wydajności. Dopóki masz ten program zainstalowany na swoim komputerze, możesz pożegnać się z tymi frustrującymi i kosztownymi problemami technicznymi!

WSTAW W „Znajomi” (`imię`, `id_miasta`) WARTOŚCI ('Jan', 5);
BŁĄD 1452 (23000): Nie można zainstalować lub zaktualizować określonego wiersza dziewczyny:Limit kluczy obcych nie działa(`test_db`.`znajomi`, LIMIT `znajomi_ibfk_1`KLUCZ OBCY (`city_id`) ODNIESIENIA `city` (`id`))
INSERT INTO `Friends` (`firstName`, `city_id`) VALUES ('John', 1);-- Żądanie 1 ok, dotyczy linii (0,00 s)
UPDATE `Znajomi` SET city_id = 5 WHERE `firstName` = 'Jan';-- BŁĄD 1452 (23000): Nie można dodać ani zaktualizować wiersza młodej osoby
WSTAW DO `Cities` (5, 'Liverpool');-- Tabela miast:+----+-------------+| identyfikator | nazwa osady |+----+-------------+| 1 | York || para | Manchester || o kilku | Londyn || 4 | Edynburg || 5 | Liverpool |+----+-------------+
WSTAW W 'Znajomi' ('Imię', 'ID_miasta') WARTOŚCI ('Susan', 5);-- Żądanie OK, dotyczy linii 1 (0,00 s)
POKAŻ ZMIENNE GLOBALNE JAKO „FOREIGN_KEY_CHECKS”;-- +------+-------+-- | dostosowywalna nazwa | wartość |-- +------+-------+-- | Walidacja klucza obcego | |-- Zainstaluj +--------------------+-------+
-- dla bieżącej sesji:USTAW FOREIGN_KEY_CHECKS=0;--Wspólny zestaw:USTAW GLOBALNY FOREIGN_KEY_CHECKS=0;
WSTAW W „Znajomi” („Imię”, „Identyfikator_miasta”) WARTOŚCI („Natalia”, 8);-- Zapytanie OK, dotyczy 1 wiersza (0,01 s)AKTUALIZACJA `Znajomi` SET city_id = 17 GDZIE `Imię` 'Jan';-- = Zapytanie OK, dotyczy 1 paska (0,00 s)-- Linie dopasowane: 8 odwróconych: 1 0
Jak naprawić Błąd SQL 1452?
Wyłącz sprawdzanie znaczących nieznajomych Drugim sposobem naprawienia BŁĘDU 1452 w tym trybie działania jest wyłączenie zmiennej FOREIGN_KEY_CHECKS dotyczącej serwera MySQL. Ta zmienna powoduje, że MySQL sprawdza wszelkie problemy związane z kluczami międzynarodowymi dodanymi do twoich stołów do gry przed ich przetworzeniem lub aktualizacją.
-- Ostrzeżenia: ustawione dla bieżącej sesji:USTAW FOREIGN_KEY_CHECKS=1;-- na całym świecie zdefiniowano:ZAINSTALUJ GLOBAFOREIGN_KEY_CHECKS=1;
Muszę wstawić etykę do tej tabeli umiejętności za pomocą żądania „wstaw do”, ale otrzymuję błąd po: „Kod błędu: 1452. Nie można dodać aktualizacji lub wiersza podrzędnego: główne ograniczenie zewnętrzne nie powiodło się (TESTE.FUNCIONARIO, OGRANICZENIE FUNCIONARIO_ibfk_1 FUNKCJONALNE ODNIESIENIA KLUCZY OBCYCH (CPF_SUPERVISOR) (CPF))”.
Pobierz oprogramowanie, aby naprawić komputer, klikając tutaj.