2009-11-15 161 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」或更大的東西。