sql >> Database >  >> RDS >> PostgreSQL

psql-fout voor het herstellen van pgsl-back-up op cmd

Zoals joop uitlegde, is je SQL-bestand inconsistent.

Er is een externe sleutelbeperking van raffle.user_id naar "user".id , wat betekent dat voor elke waarde in raffle.user_id er moet een rij zijn in "user" waar id heeft dezelfde waarde.

Nu is er geen rij ingevoegd in "user" met een id gelijk aan 1, maar het script probeert een rij in te voegen in raffle met user_id gelijk aan 1.

Dat schendt de externe sleutelbeperking en veroorzaakt een fout. Zodra er een fout is opgetreden in een PostgreSQL-transactie, is het enige wat u kunt doen ROLLBACK . Totdat u dat doet, zullen alle verklaringen in de transactie mislukken met de fout die u opmerkt.

De enige oplossingen die u hebt, zijn ofwel de gegevens herstellen zodat ze consistent zijn of de consistentie opgeven door de beperking van de refererende sleutel te verwijderen.

Opmerking: het is een slecht idee om een ​​gereserveerd SQL-sleutelwoord te kiezen, zoals USER als naam.



  1. Taken op afstand uitvoeren vanuit IRI Workbench

  2. django - verzamel json-veldspecifieke sleutels en volg de aggregatie

  3. Opgeslagen Oracle-functie - geef tabelnaam door als parameter

  4. Negeert MySQL null-waarden op unieke beperkingen?