![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.01.2005 Skąd: Nigdzie Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z bazą MySQL (wersja 5.0.19).
Przy dodaniu rekordu do bazy zwracany jest błąd: Cytat #1406 - Data too long for column 'value' at row 4 Pole 'value' jest typu longtext, więc powinno przyjąc spokojnie 8400 znaków (tyle na artykół, który chciałem dodać), ale nie przyjmuje. Co ciekawsze inne teksty, niektóre długie na 10000 znaków mogę umieszczać bez problemu. Może mi ktoś powiedzieć dlaczego to nie wchodzi, skoro jest krótsze ? Ten post edytował Tsiru 16.05.2006, 19:42:47 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Tsiru @ 2006-05-16 18:42:18) Mam problem z bazą MySQL (wersja 5.0.19). Przy dodaniu rekordu do bazy zwracany jest błąd: Cytat #1406 - Data too long for column 'value' at row 4 Pole 'value' jest typu longtext, więc powinno przyjąc spokojnie 8400 znaków (tyle na artykół, który chciałem dodać), ale nie przyjmuje. Co ciekawsze inne teksty, niektóre długie na 10000 znaków mogę umieszczać bez problemu. Może mi ktoś powiedzieć dlaczego to nie wchodzi, skoro jest krótsze ? Podaj kod SQL do tworzenia tej tabeli bo tak to ciężko ocenić co jest nie tak. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.01.2005 Skąd: Nigdzie Ostrzeżenie: (0%) ![]() ![]() |
Kod CREATE TABLE `arts` (
`id` double NOT NULL default '0', `ctime` double NOT NULL default '0', `mtime` double NOT NULL default '0', `etime` double NOT NULL default '0', `vtime` double NOT NULL default '0', `author` varchar(32) default NULL, `viewied` double NOT NULL default '0', `value` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2; |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Tsiru @ 2006-05-16 18:50:10) Kod CREATE TABLE `arts` ( `id` double NOT NULL default '0', `ctime` double NOT NULL default '0', `mtime` double NOT NULL default '0', `etime` double NOT NULL default '0', `vtime` double NOT NULL default '0', `author` varchar(32) default NULL, `viewied` double NOT NULL default '0', `value` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2; Ostatnie strony http://www.eduvision.nl/diversen/mysql.pdf Pozatym jest problem http://bugs.mysql.com/bug.php?id=17872 (niby tylko przy kodowaniu utf8 Tu też podobny problem http://www.sitepoint.com/forums/showthread.php?t=365412 Widać nie tylko Ty masz ten problem. Nie wiem jak Ci pomóc. Przejrzyj jeszcze to http://dev.mysql.com/doc/mysql/search.php?...es.html&lang=en |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.01.2005 Skąd: Nigdzie Ostrzeżenie: (0%) ![]() ![]() |
Dzieki, jednak pomogło.
W bugach Mysql'a napisali że to wywołuje 228 znak z tabeli ASCII, więc go poprostu usunąłem z zapytania (tak się kończy kopiowanie tekstu z worda). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Tsiru @ 2006-05-16 18:50:10) Kod CREATE TABLE `arts` ( `id` double NOT NULL default '0', `ctime` double NOT NULL default '0', `mtime` double NOT NULL default '0', `etime` double NOT NULL default '0', `vtime` double NOT NULL default '0', `author` varchar(32) default NULL, `viewied` double NOT NULL default '0', `value` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2; Mam pytanie dlaczego piszesz ENGINE=MyISAM a nie TYPE=MyISAM ? Jeśli dasz DEFAULT CHARSET=latin2 to domyślnie będzie możliwość zapisywania do bazy polskich znaków? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.01.2005 Skąd: Nigdzie Ostrzeżenie: (0%) ![]() ![]() |
Cytat Mam pytanie dlaczego piszesz ENGINE=MyISAM a nie TYPE=MyISAM ? Nic nie wpisywałem, taki był wynik zapytania "SHOW CREATE TABLE `arts`". Cytat Jeśli dasz DEFAULT CHARSET=latin2 to domyślnie będzie możliwość zapisywania do bazy polskich znaków? Nielicząc tego przypadku który wywoływał błąd, do przez MyPHPadmin bez problemu zapisuje mi polskie znaczki w bazie. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Tsiru @ 2006-05-17 15:34:33) Cytat Mam pytanie dlaczego piszesz ENGINE=MyISAM a nie TYPE=MyISAM ? Nic nie wpisywałem, taki był wynik zapytania "SHOW CREATE TABLE `arts`". Cytat Jeśli dasz DEFAULT CHARSET=latin2 to domyślnie będzie możliwość zapisywania do bazy polskich znaków? Nielicząc tego przypadku który wywoływał błąd, do przez MyPHPadmin bez problemu zapisuje mi polskie znaczki w bazie. 1. Zainteresuj się TYPE 2. Jak nie używam phpMyAdmina, na razie testuje baze. Jak ustawiłem Latin1 to jak chcę wprowadzić imię 'Jaś' dostaje błąd tak jak Ty. Jak wpisze 'Jas' to dodaje rekord. I nie wiem dlaczego? Dane wpisuje z palca.. :/ Może teraz Ty masz pomysł? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.01.2005 Skąd: Nigdzie Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za rade z Type.
Jeśli chodzi o ten błąd to też nie mam pomysłu. Z tego co się dowiedziałem występuje tylko przy utf - może użyj SET NAMES i ustaw jakieś inne kodowanie? Ten post edytował Tsiru 18.05.2006, 13:28:47 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Tsiru @ 2006-05-18 12:13:13) Dzięki za rade z Type. Jeśli chodzi o ten błąd to też nie mam pomysłu. Z tego co się dowiedziałem występuje tylko przy utf - może użyj SET NAMES i ustaw jakieś inne kodowanie? Jak ustawie inne kodowanie to nie będę mógł zapisywać polskich znaków.. :/ |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 0 Dołączył: 7.01.2005 Skąd: Nigdzie Ostrzeżenie: (0%) ![]() ![]() |
A latin2 ? Jakbyś go użył zamiast utf ?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 20:17 |