2009-11-15 90 views
1

我插入一些信息到我的mysql数据库,我得到了下面列出的以下错误。这是什么意思,我该如何解决它?Mysql警告问题?

1 row(s) inserted. 
Inserted row id: 1 
Warning: #1265 Data truncated for column 'summary' at row 1 

下面是我的Mysql表结构。

CREATE TABLE mem_articles (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
member_id INT UNSIGNED NOT NULL, 
title VARCHAR(255) NOT NULL, 
summary VARCHAR(255) DEFAULT NULL, 
content LONGTEXT NOT NULL, 
date_created DATETIME NOT NULL, 
date_updated DATETIME DEFAULT NULL, 
PRIMARY KEY (id) 
); 

回答

5

我认为这意味着字符您试图插入summary列的金额超过了255,也许你应该改变它是TEXT,而不是VARCHAR(255)

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

+0

或'VARCHAR([高达65535]的任何东西)' – nickf 2009-11-15 02:41:47

+0

我一直以为'VARCHAR'被限制为255个字符。读完这些之后,我查了一下。从MySQL 5.0.3开始,你现在可以使用多达65,535。学到了新东西。 – toxalot 2012-12-14 12:10:59

1

这意味着数据是“截短的”,它在MySQL术语意味着要么它被截断,或者将其变更为完全不同的东西,如果它是与该类型不相容。

这种行为很糟糕;如果你不想要它,使用

SET SQL_MODE='TRADITIONAL' 

然后,它会像一个明智的数据库(不幸的是这可能会破坏你的整个代码库,如果它是一个现有的应用程序)

1

我建议设置类型到“longtext”或更大的东西。