2010-12-22 94 views
0
CREATE TABLE IF NOT EXISTS `user` (
    `USER_ID` bigint(20) NOT NULL auto_increment, 
    `USER_ABOUT_YOU` varchar(255) default NULL, 
    `USER_COMMUNITY` tinyblob, 
    `USER_COUNTRY` varchar(255) default NULL, 
    `USER_GENDER` varchar(255) default NULL, 
    `USER_MAILING_LIST` bit(1) default NULL, 
    `USER_NAME` varchar(255) default NULL, 
    `USER_PASSWORD` varchar(255) default NULL, 
    PRIMARY KEY (`USER_ID`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

爲什麼USER_COMMUNITY定義爲微小的blob。該字段接受複選框的值。當我將其更改爲某些其他數據類型時,出現錯誤?爲什麼如此?MySQL字段類型

http://www.vaannila.com/spring/spring-hibernate-integration-1.html

回答

1

這就是它是如何定義的:

@Column(name="USER_COMMUNITY") 
public String[] getCommunity() { 
    return community; 
} 
public void setCommunity(String[] community) { 
    this.community = community; 
} 

表不存儲檢查但字符串數組。看起來,TINYBLOB是MYSQL上用於存儲陣列的正確數據類型。

+0

如何查看我的數據庫中的TinyBlob的內容如果我使用PHPmyadmin或skylog – theJava 2010-12-22 08:15:54

1

沒有「複選框的值」。與大多數其他HTML輸入控件一樣,複選框將返回一個字符串。這些複選框實際上會返回一個值列表,因爲它們都具有相同的名稱。我不知道這個值是如何實際存儲的,但我可以想象這是存儲爲一個字符串數組與一些伴奏元數據。這種數據很難存儲在另一種字段類型中。

在什麼字段類型你想改變它,以及你得到的錯誤是什麼?

我實際上不會以這種方式存儲這些數據,而是給user一個細節表,而不是在其中存儲用戶所屬的社區。但是本教程似乎更關注jsp而不是數據庫規範化。 ;)