首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL字段类型

MySQL字段类型
EN

Stack Overflow用户
提问于 2010-12-22 16:06:58
回答 2查看 204关注 0票数 0
代码语言:javascript
复制
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被定义为小斑点。此字段接受值checkbox。当我将它更改为其他数据类型时,我得到一个错误?为什么会这样呢?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-22 16:14:40

这就是它的定义:

代码语言:javascript
复制
@Column(name="USER_COMMUNITY")
public String[] getCommunity() {
    return community;
}
public void setCommunity(String[] community) {
    this.community = community;
}

该表不存储检查,而是一个字符串数组。看起来,TINYBLOB是MYSQL上用于存储数组的正确数据类型。

票数 1
EN

Stack Overflow用户

发布于 2010-12-22 16:17:01

没有“复选框的值”。与大多数其他HTML输入控件一样,checkbox将返回一个字符串。这些复选框实际上返回一个值列表,因为它们都具有相同的名称。我不知道这个值实际上是如何存储的,但我可以想象它被存储为一个带有一些伴随元数据的字符串数组。这类数据很难存储在另一种字段类型中。

您想要在哪种字段类型中更改它,得到的错误是什么?

我实际上不会以这种方式存储此数据,而是为user提供一个明细表,您可以在其中存储用户所属的社区。但是本教程似乎更多地关注jsp而不是数据库规范化。;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4507272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档