重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
不是类型的问题
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的资溪网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
是编码不对
把表的那行
Collation
设置成gbk_chinese_ci就OK了
试试用mysql的图形界面软件
直观一些
正确的SQL语句如下:
CREATE TABLE `tt` (
`a` char(10) default NULL,
`b` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8
既然知道是长类型的,就不用定义其长度了。
复制我的代码,执行一下。我测试已经通过。
方法如下:
我们先建一个DEMO表,来做我们今天的实现,建表语句如下:
CREATE TABLE
DEMO
(
NAME VARCHAR(50) COMMENT '姓名',
SEX CHAR(1) COMMENT '性别',
PRIMARY KEY (NAME)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='例子表';
并且select查询一下,如下图
增加一个AGE字段,
ALTER TABLE DEMO ADD AGE CHAR(3);
select查询一下,如下图
请对比上下图,可以发现 多出了一个AGE字段,此处是CHAR类型的。
那么如何删除我们刚加的字段呢,
ALTER TABLE DEMODROP COLUMN AGE;
select查询一下,如下图
请对比上下图,可以发现 AGE字段被删除掉了
我们在把这个字段加回来
ALTER TABLE DEMO ADD AGE CHAR(3);,
我们用视图工具DBVISUAL看下表机构,这时AGE字段是CHAR类型的
我们如果需要把这个字段修改为VARCHAR类型的怎么办呢,
ALTER TABLE DEMO MODIFY AGE VARCHAR(20),
然后我们在用视图工具DBVISUAL看下表机构,这时AGE字段是VARCHAR类型的
虽然可以用中文字段或者表名,但确实不建议使用,用中文名,需要使用``分隔符。
set names 'gb2312';
create table `中文表名`(`中文字段` int);