Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z longtext, #1406 - Data too long....
Tsiru
post
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
Go to the top of the page
+Quote Post
Jarod
post
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.
Go to the top of the page
+Quote Post
Tsiru
post
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;
Go to the top of the page
+Quote Post
Jarod
post
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
Go to the top of the page
+Quote Post
Tsiru
post
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).
Go to the top of the page
+Quote Post
Jarod
post
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?
Go to the top of the page
+Quote Post
Tsiru
post
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.
Go to the top of the page
+Quote Post
Jarod
post
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ł?
Go to the top of the page
+Quote Post
Tsiru
post
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
Go to the top of the page
+Quote Post
Jarod
post
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.. :/
Go to the top of the page
+Quote Post
Tsiru
post
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 ?
Go to the top of the page
+Quote Post
Jarod
post
Post #12





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(Tsiru @ 20.05.2006, 12:48 ) *
A latin2 ? Jakbyś go użył zamiast utf ?


Temat: Problem z polskimi znakami
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 20:17