4.29日志
4.27
周四大创答辩真忙着一点进度没有
4.29
写了下JDBC
运行写好的JDBC程序时出现Create break point: JDBC出现The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrec问题
百度查到出现错误的原因是因为按照mysql的时候时区设置的不正确
默认采用的是美国的时区,而中国大陆的时区要迟8个小时
解决方法:
1.修改MySQL的配置文件,MySQL配置文件是my.ini文件在你的安装目录下去找,在C:\Program Files (x86)\MySQL\MySQL Server 5.5\my.ini
找到这个文件之后用Notepad++打开它,搜索[mysqld]节点在节点下面加上下面这句话
default-time-zone=’+08:00’
然后记得重启MySQL的服务,打开cmd窗口登录MySQL执行show variables like ‘%time_zone%’;这句命令
2.直接在mysql执行语句:
set global time_zone=’+8:00’
3. 修改url语句
在访问数据库的url语句后加上下面这句话也可以但是较为麻烦不推荐使用
?serverTimezone=GMT%2B8
用方法2解决
上面问题解决后再运行仍要报错
Table 'mydb.users' doesn't exist
复制去百度搜发现回答驴唇不对马嘴
怀疑是代码里那个url的问题 不知道那个url的意思
好吧url没有任何问题
问题出在下面的查询语句
SELECT * FROM ReviewThesis WHERE RecordID = ?
url最后跟的是库名
FROM后面跟的是表名
WHERE后面跟的是字段
这些要跟表中匹配
上面问题解决后又报错
closing inbound before receiving peer's close_notify
百度搜了一下
原因是MySQL在高版本需要指明是否进行SSL连接
在url中加入ssl=true或false即可
原:
jdbc:mysql://localhost:3306/mydb
改:
jdbc:mysql://localhost:3306/mydb?useSSL=false
再运行终于查询成功了
今天又试了试MySQL Workbench的可视化界面
虽然都是英文而且界面貌似比navicat复杂点
但是好像确实比navicat好用?
起码我可以很容易修改表的属性
以及添加外键约束
添加外键约束对应的要是主键好像
使用的教程可以参考http://c.biancheng.net/view/2625.html
添加表中的数据时 需要注意外键ThesisID
必须在其他表中存在对应的字段?
不然会报错:
1452: Cannot add or update a child row: a foreign key constraint fails (`mydb`.`reviewthesis`, CONSTRAINT `fk1` FOREIGN KEY (`ThesisID`) REFERENCES `students` (`StudentID`))