在 mysql5.7 的时间字段 col_time 中设置了 not nulldefault CURRENT_TIMESTAMP
结果还是报错

Column 'col_time' cannot be null 

经学长指教,解决方式如下:

在 /etc/my.cnf中 将 explicit_defaults_for_timestamp 设置为 false 即可

查看现在的状态

mysql> show variables like '%explicit%';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| explicit_defaults_for_timestamp | ON    |
+---------------------------------+-------+
1 row in set (0.00 sec)

设置 explicit_defaults_for_timestamp = false

重启 mysql

systemctl mysql restart

现在问题已经解决了~

假设在 Linux 下我们有这样几个c文件和头文件,他们间的依赖关系如代码所示,那么我们如何编译呢?

hello.c

#include<stdio.h>
#include"print.h"
int main(void){
        printf("hello world\n");
        my_print();
        return 0;
}

print.c

#include<stdio.h>
#include"print.h"

void my_print(){
        printf("print in print.c\n");
}

print.h

void my_print();

一、 直接编译

gcc hello.c print.c -o hello

但是这样的一个缺点是当项目特别大的时候,无论 .c 文件相较于上一次编译的时候是否发生改变,下一次编译的时候都会再次编译一次,特别浪费时间,所有以有没有一个方法只编译改编过的源文件呢?这就是方法二利用 makefile 文件来自动编译

- 阅读剩余部分 -