添加表出现不能添加
唯一键值对,应该设置自增
删除带有外键的表
在一对多模式下(如,老师对应学生),在对多的这一方的设计中,学生表中要添加这个老师的id号作为外键值。 但是,在进行删除老师的操作的时候,必须删除这个老师所教的所有学生的信息之后才能删除这个老师。数据库的逻辑来看是合理的,而且必须这么做才能删除掉这个老师信息,因为外键的原因。 但是,从实际来看,现实生活中,辞退了一个老师,会把所有学生也给退学吗?显然不可能的。因此就这点而言有以下解决办法。
第一,可以不约束,直接将老师的id写入学生表中,只要不foreign key,相当于多添加了个字段,但意义确实老师的id。(私约非约)
第二,约束。
在删除老师信息之前
-- 删除约束
SET FOREIGN_KEY_CHECKS=0;
删除老师信息后
-- 恢复约束
SET FOREIGN_KEY_CHECKS=1;
Ideal链接数据库出现的timeoutZone
解决办法:
mysql -hlocalhost -uroot -p
show variables like'time_zone';
set global time_zone='+8:00';
不同连接数据库方式导致的乱码解决方法
首先,用连接池连接数据库导致乱码,又不能用&分隔各个utf-8的设置,正确命令:
?useSSL=false&useUnicode=true&characterEncoding=utf-8
其次,用以properties结尾的文件配置的时候乱码,正确命令
?useUnicode=true&characterEncoding=utf-8&userSSL=false
精确到秒的时间戳TIMESTAMP
当字段定义为timestamp ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入且未指定值时被赋值为"0000-00-00 00:00:00",在更新且未指定值时更新为当前时间。