Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Modyfikacja forum Przemo
AlexanderV
post 27.08.2011, 13:07:01
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 19.05.2007

Ostrzeżenie: (0%)
-----


Zainstalowałem moduł zarządzania konkursami:
http://www.przemo.org/phpBB2/forum/viewtopic.php?t=95003

Wszystko wykonałem zgodnie z instrukcją, zapytania do bazy danych wykonałem, a jednak mimo wszystko mam problemy. Wszystko wygląda jakby działało poprawnie, jednak dy wpisuje w PA dane rubryki i klikam na Wyślij i wędruję na stronę główną to tam tabelka nadal jest pusta. Może ktoś mi pomóc?


Mozliwe jednak, że wykonuje jakiś błąd, gdyż podczas wklejania zapytania:


Cytat
INSERT INTO `phpbb_config` VALUES('trwajace_konkursy','');
INSERT INTO `phpbb_config` VALUES('zakonczone_konkursy','');
INSERT INTO `phpbb_config` VALUES('zapisz_sie','');



Wyświetla mi komunikat:

Cytat
Błąd

Zapytanie SQL:

INSERT INTO `phpbb_config`
VALUES (
'trwajace_konkursy', ''
);

MySQL zwrócił komunikat: Dokumentacja
#1062 - Duplicate entry 'trwajace_konkursy' for key 'PRIMARY'
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
sada
post 27.08.2011, 13:19:16
Post #2





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


widocznie masz pierwszą kolumnę jako PRIMARY KEY
musisz dodać w insercie nazwy kolumn format jak poniżej:

  1. "INSERT INTO nazwa_tabeli (Tytul, Wykonawca) VALUES ('$tytul', '$wykonawca')"


Ten post edytował sada 27.08.2011, 13:21:42
Go to the top of the page
+Quote Post
AlexanderV
post 27.08.2011, 13:34:54
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 19.05.2007

Ostrzeżenie: (0%)
-----


Czyli na przykładzie moich danych w pierwszyjm poście, jak to będzie wyglądać?
Go to the top of the page
+Quote Post
sada
post 27.08.2011, 14:30:25
Post #4





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


  1. INSERT INTO `phpbb_config`(nazwakolumny1,nazwakolumny2) VALUES('trwajace_konkursy','');

gdzie nazwakolumny1 to nazwa kolumny gdzie ma być wpisany string 'trwajace_konkursy',

gdzie nazwakolumny2 to nazwa kolumny gdzie ma być wpisany pusty string '',

Ten post edytował sada 27.08.2011, 14:31:21
Go to the top of the page
+Quote Post
Robert007
post 27.08.2011, 14:39:58
Post #5





Grupa: Zarejestrowani
Postów: 167
Pomógł: 2
Dołączył: 1.07.2009
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
INSERT INTO `phpbb_config` VALUES('trwajace_konkursy','');
INSERT INTO `phpbb_config` VALUES('zakonczone_konkursy','');
INSERT INTO `phpbb_config` VALUES('zapisz_sie','');


A to nie przypadkiem nazwy kolumn?
Wtedy tak:

Kod
INSERT INTO `phpbb_config` (`trwajace_konkursy`,  `zakonczone_konkursy`, `zapisz_sie`) VALUES ('wartość1', 'wartość2', 'wartość3')


Chociaż mi się wydaję ze powino być na update bo nazwy kolumn o ile pamietam to config_name oraz config_value

Kod
UPDATE `phpbb_config` SET `config_value` = 'wartość' WHERE `config_name` = 'zakonczone_konkursy'


Ten post edytował Robert007 27.08.2011, 14:43:38
Go to the top of the page
+Quote Post
sada
post 27.08.2011, 14:47:32
Post #6





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


a może tak jak mówi przedmówca chcesz ładować puste stringi
  1. INSERT INTO `phpbb_config`(trwajace_konkursy) VALUES('');
Go to the top of the page
+Quote Post
peter13135
post 27.08.2011, 16:55:01
Post #7





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


@SADA

Jeśli do INSERT INTO daje się tyle samo wartości, co kolumn ma tabela, to nie trzeba dawać w nawiasie nazwy kolumn. PK nie ma nic do tego.

@Robert007

O ile mi wiadomo, ta tabela ma kolumny name i value (albo coś podobnego).

Do autora tematu:
Wejdź do bazy, odnajdź tą kolumnę i zobacz ile ma rekordów. Na moje oko, te rekordy są już dodane.


--------------------
:)
Go to the top of the page
+Quote Post
sada
post 27.08.2011, 16:59:05
Post #8





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


@peter13135

Cytat
Jeśli do INSERT INTO daje się tyle samo wartości, co kolumn ma tabela, to nie trzeba dawać w nawiasie nazwy kolumn..

i jeśli są w tej samej kolejności co w zapytaniu biggrin.gif

w pierwszym poście powiedział, że ma jakiś błąd z primary key więc diagnoza moja była właśnie taka

do tej pory nie wiem jakie są kolumny w tabeli i co autor chciał osiągnąć zapytaniem

Ten post edytował sada 27.08.2011, 17:05:19
Go to the top of the page
+Quote Post
peter13135
post 27.08.2011, 17:12:23
Post #9





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


#sada
Autor wyraźnie napisał błąd jaki "wywala" mu zapytanie, jego fragment : " Duplicate entry 'trwajace_konkursy' for key 'PRIMARY'" wcale nie ma nic do nazw kolumn w zapytaniu. Nie wiem, skąd mogłeś to wywnioskować.
Przypomnę, że (znalezione w necie) :
Kod
PRIMARY KEY to słowo kluczowe oznaczające dla kolumny, że jest ona kluczem głównym dla tebeli czyli unikalną wartością identyfikując jednoznacznie każdy rekord tebeli

Czyli po naszemu, każde pole kolumny PK ma mieć inną wartość. Każda próba dodanie drugiej takiej samej wartości (czyli duplikacji) da właśnie taki błąd. Wystarczy umieć czytać.


--------------------
:)
Go to the top of the page
+Quote Post
sada
post 27.08.2011, 18:01:15
Post #10





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


@Peter13135 Taki sam wniosek wyciągnąłem.
Z tego że próbował wpisywać dwa razy tą samą wartość do kolumny z PRIMARY KEY wywniskowałem , że mógł pomylić kolumny.
Daruj sobie te wnioski o umiejętności czytania
Go to the top of the page
+Quote Post
Robert007
post 27.08.2011, 19:55:46
Post #11





Grupa: Zarejestrowani
Postów: 167
Pomógł: 2
Dołączył: 1.07.2009
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
@Robert007

O ile mi wiadomo, ta tabela ma kolumny name i value (albo coś podobnego).


Cytat
Chociaż mi się wydaję ze powino być na update bo nazwy kolumn o ile pamietam to config_name oraz config_value
Kod
UPDATE `phpbb_config` SET `config_value` = 'wartość' WHERE `config_name` = 'zakonczone_konkursy'


Przecież podałem to, nie czytacie postów do końca.
Go to the top of the page
+Quote Post
sada
post 27.08.2011, 22:26:58
Post #12





Grupa: Zarejestrowani
Postów: 302
Pomógł: 24
Dołączył: 6.12.2008

Ostrzeżenie: (0%)
-----


Ważne czy tylko dwie kolumny i czy któraś jest PRIMARY KEY
Go to the top of the page
+Quote Post
mlawnik
post 28.08.2011, 10:49:33
Post #13





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Forum przemo byłoby lepszym miejscem na pytania.


--------------------
Pozdrawiam,
mlawnik

Cytat(nospor)
Jedzmy gówno.... miliony much nie może się przecież mylić
Go to the top of the page
+Quote Post
wujek2009
post 28.08.2011, 11:06:08
Post #14





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

Ostrzeżenie: (0%)
-----


Tabela phpbb_config ma dwie kolumny (config_name/config_value) a błąd nam mówi, że administrator już dodał wpis "trwajace_konkursy" do tabeli phpbb_config, stąd błąd o zdublowaniu wpisu.

Stąd po prostu wyczyść cache (ręcznie bądź przez panel admina) i ustawienia na nowo się wczytają (w tym ustawienie "trawjace_konkursy") i powinno być OK.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 21:45