发表于: 2017-05-02 22:39:26
3 1476
Task1的第九天
今日完成
在服务器上配置完Mysql
,跑测试,然后测试报错了。错误信息如下:
org.springframework.dao.DataIntegrityViolationException:
### Error updating database. Cause: java.sql.SQLException: Field 'create_at' doesn't have a default value
### The error may involve com.semonx.jnshu.dao.StudentAnnotationDao.addStudent-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO entry_form (name,qq,profession,join_date,school,online_id,daily_url, declaration,introducer,referee,counselor,description,city,review) VALUES (?,?,?,?,?,?,?, ?,?,?,?,?,?,?)
### Cause: java.sql.SQLException: Field 'create_at' doesn't have a default value
; SQL []; Field 'create_at' doesn't have a default value; nested exception is java.sql.SQLException: Field 'create_at' doesn't have a default value
很奇怪,因为create_at
我已经添加了触发器,value不应该会空的。百度之后发现好像是因为Mysql版本问题。连上服务器mysql -V
,然后发现Mysql版本居然是5.5
,我Windows
上是5.7。好吧,来统一一下版本。
在Ubuntu
上直接通过apt-get
安装Mysql,就会造成尴尬的版本问题。所以,我使用了Mysql提供的APT Repository
工具来管理Mysql的安装版本。
安装这个工具后,可以通过命令改变apt-get install
安装的Mysql及其相关工具的默认版本,而且还提供更改向导,方便好使!
安装步骤:
- 到https://dev.mysql.com/downloads/repo/apt/下载
mysql-apt-config_0.8.5-1_all.deb
(版本号可能不同)。 - 把
mysql-apt-config_0.8.5-1_all.deb
上传到服务器,或者直接在服务器下载。 然后安装
sudo dpkg -i mysql-apt-config_0.8.5-1_all.deb
在交互界面选择OK,保持默认配置。
更新数据源
sudo apt-get update
安装Mysql
sudo apt-get install mysql-server
使用命令可以重新配置Mysql的默认安装版本
sudo dpkg-reconfigure mysql-apt-config
sudo apt-get update
当然你也可以手动配置APT
仓库,配置方式见https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#repo-qg-apt-repo-manual-setup
明日计划
1. 准备毕业事宜,请假一天。
2. 后天开始Task2,看Spring MVC
评论