Błąd przy aktualizacji losowań.

Pytania i odpowiedzi dotyczące użytkowania programu LottoCAD

Błąd przy aktualizacji losowań.

Postby Kmicic » 2018-02-07, 20:07

Witam...
Panie Wojtku mam problem z aktualizacją LC. Pobiera z internetu ale prz probie wprowadzenia do bazy danych wychodzi komunikat
...Error#9729 Duplicate key found in the index DATE of the table 'multi_multi'.....co z tym zrobic?
Pozdrawiam Darek


Jest to błąd polegający na tym że w bazie jedno z losowań ma datę i godzinę taką jak jedna z właśnie wprowadzanych a system nie pozwala na wprowadzenie losowań z jednakowymi datami.
To niestety moja wina, podczas naprawy zapuściłem skrypt który zdublował daty i losowania.

Błędu nie ma w nowych pobraniach bo wpakował się w stare losowania przed awarią. Mimo to pokażę jak można odświeżyć bazy multilotka.(multi-multi, mm14 i multi).

Można to załatwić zdecydowanie, ale najpierw skopiuj starą bazę jak coś pójdzie nie tak to można skopiować powrotne. Otwórz katalog : "C:\Users\Klient\AppData\Roaming\LottoCad232R", złap myszą (prawym myszki) za katalog Databases i przeciągnij go na wolne miejsce w tym samym katalogu lub w innym nowym katalogu. Puść przycisk myszki i wykonaj kopię. Jak na rysunkach :
Image
Po skopiowaniu pojawi się folder kopii całego katalogu Database :
Image
Jak coś zepsujemy zawsze możemy wrócić do stanu wyjściowego kopiując zawartość katalogu kopii do oryginału.
Teraz możemy sprawdzić ten duplikat. Gdzie on się znajduje. Dlatego uruchamiamy z menu
Plik-> Manager Gier Liczbowych :
Image
Pojawi nam się formularz i wybieramy strzałką zakładkę SQL. Do pola edycji wpisujemy zapytanie do bazy o największą datę w bazie danych.
Code: [Select all] [Expand/Collapse] [Download] (Untitled)
  1. SELECT MAX(date) FROM multi_multi;
GeSHi © Codebox Plus

zapytanie wyświetli wynik w zakładce "wynik SQL" ... jest to data : 2018-02-02 14:00:00
Image

Teraz wykonujemy import losowań. W jego wyniku otrzymamy szereg brakujących losowań w postaci linii polecen SQL :
Code: [Select all] [Expand/Collapse] [Download] (Untitled)
  1. INSERT INTO multi_multi VALUES( NULL,10670,'[color=#0080FF]2018-02-02 21:40:00'[/color],5,14,24,27,30,32,33,35,36,40,41,43,51,53,64,69,71,76,79,80);
  2. INSERT INTO multi_multi VALUES( NULL,10671,'2018-02-03 14:00:00',1,10,11,12,15,17,20,30,42,49,53,57,62,66,67,70,72,73,75,76);
  3. INSERT INTO multi_multi VALUES( NULL,10672,'2018-02-03 21:40:00',1,7,21,22,29,31,34,40,47,50,52,53,55,57,58,66,67,68,72,76);
  4. INSERT INTO multi_multi VALUES( NULL,10673,'2018-02-04 14:00:00',2,4,9,12,13,26,27,31,35,38,48,50,54,55,63,64,69,76,79,80);
  5. INSERT INTO multi_multi VALUES( NULL,10674,'2018-02-04 21:40:00',1,4,5,10,18,21,22,25,26,30,32,37,43,49,51,53,61,62,64,72);
  6. INSERT INTO multi_multi VALUES( NULL,10675,'2018-02-05 14:00:00',6,12,19,20,22,23,25,26,38,40,42,43,46,47,53,54,57,58,63,66);
  7. INSERT INTO multi_multi VALUES( NULL,10676,'2018-02-05 21:40:00',1,4,17,22,27,29,30,31,40,41,42,46,48,49,58,63,71,73,76,80);
  8. INSERT INTO multi_multi VALUES( NULL,10677,'2018-02-06 14:00:00',6,9,10,12,16,17,18,20,23,34,38,42,49,51,53,55,60,62,69,79);
  9. INSERT INTO multi_multi VALUES( NULL,10678,'2018-02-06 21:40:00',2,11,15,26,27,31,37,40,43,45,47,53,54,58,62,63,71,75,76,78);
  10. INSERT INTO multi_multi VALUES( NULL,10679,'2018-02-07 14:00:00',1,5,11,22,24,27,28,40,43,47,54,56,57,61,73,74,75,76,78,80);
  11. INSERT INTO MULTI_14 VALUES( NULL,3154,'2018-02-07',1,5,11,22,24,27,28,40,43,47,54,56,57,61,73,74,75,76,78,80);
  12. INSERT INTO keno_fr VALUES( NULL,13484,'2018-02-07 13:45:00',5,9,14,20,21,22,23,26,27,32,40,41,42,46,48,56,63,64,65,66);
  13.  
GeSHi © Codebox Plus


jak widać w pierwszej linii najmłodszą importowaną datą jest 2018-02-02 21:40:00, więc tu błędu nie ma ...

Jeżeli błąd jest to można pokombinować dalej, a mianowicie usunąć wszystkie losowania oprócz tego z numerem 1.

Jak to zrobić. Można oczywiście zaznaczyć wszystkie w tabeli losowań oprócz pierwszego ale to jest uciążliwe bo zaznaczyć trzeba ponad 10 tysiecy wierszy. Ale mozna sie posłuzyć wierszem poleceń SQL.
W zakładce SQL wpisz polecenie :
Code: [Select all] [Expand/Collapse] [Download] (Untitled)
  1. DELETE FROM multi_multi WHERE id>1;
GeSHi © Codebox Plus

Polecenie uruchom klawiszem [EXECUTE] i znaczy ono Usuń z tabeli multi_multi wszystkie losowania których ID jest większe od 1.
Image
Zostanie więc tylko pierwsze losowanie. Pamiętać trzeba o przeładowaniu (otwórz inną grę i wróć na tę zmienianą)
Image
Teraz wystarczy zaimportować wszystkie losowania i mamy odświeżoną pełną bazę. Tak możesz zrobić z bazami "mm14" i "multi" jeżeli używasz gier przed i popołudniowych jako osobnych gier. Sprawdzę też czy nie ma błędów w bazach lotto i express-lotka(mini).

sprawdzałem: W dużym lotku i mini lotto błędów nie ma...
--
Wojtek
Audaces fortuna iuvat - śmiałym szczęście sprzyja
User avatar
Kmicic
Administrator
 
Posts: 720
Joined: 2006-11-28, 00:40
Location: Obywatel świata

Return to LottoCAD pytania i odpowiedzi

Who is online

Users browsing this forum: No registered users and 1 guest

cron