MariaDB输入空串报错
在MySQL或MariaDB中,如果你试图插入一个空字符串到一个不允许NULL的字段,并且你没有正确地处理这种情况,你可能会遇到错误。通常,这类错误是由于尝试插入一个不符合字段定义的值的操作引起的。例如,如果你有一个定义为NOT NULL的字段,但没有在插入语句中提供值或者提供了一个NULL值而没有适当的处理方式(如使用默认值或者允许NULL),就会发生错误。
在MySQL或MariaDB中,如果你试图插入一个空字符串到一个不允许NULL的字段,并且你没有正确地处理这种情况,你可能会遇到错误。通常,这类错误是由于尝试插入一个不符合字段定义的值的操作引起的。例如,如果你有一个定义为NOT NULL的字段,但没有在插入语句中提供值或者提供了一个NULL值而没有适当的处理方式(如使用默认值或者允许NULL),就会发生错误。
MariaDb 严格模式导致有 NULL 值新增失败 (sql_model STRICT)
解决:
1 新增自定义配置
sudo vim /etc/mysql/mariadb.conf.d/50-disable_strict_mode.cnf
内容为
[mysqld] #网上都是mysql,新版本加d sql_mode=""
mariadb报错 Error: Field 'member_email' doesn't have a default value
修改配置如下:
SET GLOBAL sql_mode='NO_ENGINE_SUBSTITUTION';
FLUSH PRIVILEGES;
一个是修改表的编码格式的
ALTER TABLE `table` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
时区(timezone)转换函数:convert_tz(dt,from_tz,to_tz)
select convert_tz('2008-08-08 12:00:00', '+08:00', '+00:00'); -- 2008-08-0804:00:00 SELECT CONVERT_TZ(CURDATE(), '+08:00', '+00:00')
LEMP环境指的是Linux+Nginx+MariaDB+PHP
这里我选择的版本是最新的MariaDB和PHP7
相对于Apache,Nginx是一个轻量级的高性能web服务器并在近年来越来越流行。Nginx也可以同时作为一个反向代理。在Debian8上安装Nginx, 输入下面的命令
sudo apt-get install nginx -y
MySQL跨表更新一直是大家所关心的话题,本文介绍mysql多表 update在实践中几种不同的写法,需要的朋友可以参考下。
假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price;另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%。
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本操作是在Linux命令提示符下,phpMyAdmin同样适用。用户:test 用户数据库:db。