mysql: Data too long for column

Irina22

windows; php5.0.3. mysql 5.0.20
кусок скрипта:
				print ("Date:".$regs[4]."-".$regs[3]."-".$regs[2]."<br>");
print ("code:".$regs[1]."<br>");
print ("desc:".$regs[5]."<br>");
print (">>>".$regs[6]."<br>");
print (">>>".$regs[7]."<br>");
print (">>>".$regs[8]."<br>");
print (">>>".$regs[9]."<br>");
print (">>>".$regs[10]."<br>");
print (">>>".$regs[11]."<br>");
$date = $regs[4]."-".$regs[3]."-".$regs[2];
$time = "12:00";
$code = $regs[1];
$comments = $regs[5];
$query =
"INSERT INTO transactions ".
"(date,time,src,dst,amount,code,comments) VALUE ".
"('".$date."','".$time."','".$src."','".$dst."','".$amount."','".$code."','".$comments."');";

print ">>".$query;
print "<br>";

if(!($dbResult = mysql_query($query, $dblink
{
print("Could not execute query!<br>\n");
print(mysql_errno . ": " . mysql_error . "<br>\n");
exit;
}

что показывает:
ACTION=adddata 
Date:2006-1-9
code:100
desc:fdsfdsa fdsafds
>>>4200
>>>-4200
>>>
>>>
>>>
>>>
>>INSERT INTO transactions (date,time,src,dst,amount,code,comments) VALUE
('2006-1-9','12:00','10','1','4200','100','fdsfdsa fdsafds');
NEXT
Date:2006-1-7
code:200
desc:aaфф
>>>-12140
>>>
>>>
>>>
>>>
>>>12140
>>INSERT INTO transactions (date,time,src,dst,amount,code,comments) VALUE
('2006-1-7','12:00','1','102','12140','200','aaфф');
Could not execute query!
1406: Data too long for column 'comments' at row 1


mysql> show columns from transactions;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | | auto_increment |
| date | date | YES | | | |
| time | time | YES | | | |
| src | int(11) | YES | | | |
| dst | int(11) | YES | | | |
| amount | int(31) | YES | | | |
| code | int(11) | YES | | | |
| comments | varchar(64) | YES | | | |
+----------+-------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)
mysql>

смысл в том, что два запроса отличаются только тем, что в одном есть русские буквы в комментарии, а в другом нет.
если добавлять через коммандную строку, то и с русскими буквами всё добавляется

mysql> insert into transactions
-> (date,time,src,dst,amount,code,comments) VALUE
-> ('2003-2-3','22:22','10','11','2222','12','нпаиитп - 12 з1 dfadfafdsafdsa
авыфавыфа');
Query OK, 1 row affected (0.00 sec)

Andbar

не знаю, что там с указанными версиями, но проверь кодироовки соединения и таблицы...
можно попробовать:
SET character_set_connection = "cp1251"

Irina22

вылечилось.
спасибо!

Irina22

хотя нет.
теперь он вопросики добавляет вместо русского текста.

Andbar

в общем, там несколько параметров, связанных с этим (перечень всех можно посмотреть, выполнив коменду mysqld --help --verbose, в конце хелпа он список параметров пишет с ними надо поиграться... кроме того, при создании таблицы кодировку можно указывать...

Irina22

п
ага, я поискал уже.
выставил
SET character_set_connection = 'cp1251';
SET character_set_client = 'cp1251';
SET character_set_results = 'cp1251';
зафурычило.
Оставить комментарий
Имя или ник:
Комментарий: