发表于: 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及其相关工具的默认版本,而且还提供更改向导,方便好使!

安装步骤:

  1. https://dev.mysql.com/downloads/repo/apt/下载mysql-apt-config_0.8.5-1_all.deb(版本号可能不同)。
  2. mysql-apt-config_0.8.5-1_all.deb上传到服务器,或者直接在服务器下载。
  3. 然后安装

    sudo dpkg -i mysql-apt-config_0.8.5-1_all.deb

    在交互界面选择OK,保持默认配置。

    更新数据源

    sudo apt-get update

    安装Mysql

    sudo apt-get install mysql-server
  4. 使用命令可以重新配置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



返回列表 返回列表
评论

    分享到