发表于: 2017-12-14 01:50:21
4 732
编辑日报内容...
2012/12/13
今日完成:
1. 使用navicat给三个表设置外键:
结果:
2. 对比师兄建的表,发现只要用一个表格就可以,因此重新建立数据库。
ID自增使用关键字 AUTO_INCREMENT
插入数据时间和更新时间使用DATETIME类型,设置默认值CURRENT_TIMESTAMP
并且更新时间要添加ON UPDATE CURRENT_TIMESTAMP
1. CURRENT_TIMESTAMP
当要向数据库执行insert操作时插入当前系统时间
2. ON UPDATE CURRENT_TIMESTAMP
当执行update操作是,更新为当前UPDATE操作时的时间
插入一条数据:
但是中文显示为问号
明日计划:
1. 在命令提示符窗口下再花时间解决一下中文乱码的问题。
2. 在navicat里设计好数据库,进行增删改查。
3. 完成步骤7-15。
遇到的问题:
1. 添加外键一直失败,查资料后发现要求:主外键更多的是某表的主键与子表的某个列进行关联,要求是具备相同的数据类型和属性,不过我好像没有出现这种错误,问题还没有解决。
2. 插入数据遇到1136 - Column count doesn't match value count at row 1
发现插入的数据个数不匹配。
3. 遇到乱码1366 - Incorrect string value: '\xE5\x90\xB4\xE6\x98\x8A...' for column 'na' at row 1
添加一行SET CHARSET GBK;设置编码模式支持中文。
4. 1366 - Incorrect integer value: 'css-4909' for column 'classnum' at row 1
线上学号类型设置错误,修改为CHAR(20)
ALTER TABLE student MODIFY COLUMN classnum CHAR(20);
5. 1406 - Data too long for column 'link' at row 1
日报链接类型设置的太短
ALTER TABLE student MODIFY COLUMN link CHAR(100);
6. 中文无法显示
在命令提示符测试,依然出现这种情况
按照百度更改my.ini,问题没有解决:
百度后,尝试删除mysql服务,重新安装并且指定配置my.ini
http://blog.sina.com.cn/s/blog_a5fc42b80102xs0s.html
成功修改:
但是set names utf8 后,gbk改为utf8,database的却变回了latin1
目前依然没有解决。。。
收获:
1. 在CMD写SQL代码的熟练度得到提升,使用show、desc查看数据库和表基本信息,使用create创建数据库和表,掌握primary key、not null、auto_increment、default、current_timestamp和on update current_timestamp
插入语句insert into table_name() values ()
修改列属性alter table talbe_name modify 列名 char(500)
2. 使用CMD和navicate更加熟悉,也对数据库的一些属性设置有更清晰的认识,比如主键的设置,许多类型设置方面的考虑。
评论