首页 > 数据库 >mysql - #1067 - Invalid default value

mysql - #1067 - Invalid default value

时间:2023-06-21 22:07:29浏览次数:45  
标签:default 0.00 Invalid sec value str mysql


mysql 中无法设置默认值为函数或者表达式,如果你强制设置时,就会报错误:#1067 - Invalid default value。

这不是mysql的bug,而是故意这么设计的。参看:

http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html

这里写道:

"The DEFAULT value clause in a data type specification indicates a default value for a
column. With one exception, the default value must be a constant; it cannot be a function
or an expression. This means, for example, that you cannot set the default for a date
column to be the value of a function such as NOW() or CURRENT_DATE."

简单来说就是默认值不能是函数和表达式,所有才有上面的错误信息。

下面是一个例子,不使用函数和表达式的默认值:

mysql> create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
Query OK, 0 rows affected (0.00 sec)
mysql> desc test;
+-------+-------------+------+-----+-------------------+-------+
| Field | Type        | Null | Key | Default           | Extra |
+-------+-------------+------+-----+-------------------+-------+
| str   | varchar(32) | YES  |     | NULL              |       | 
| ts    | timestamp   | NO   |     | CURRENT_TIMESTAMP |       | 
+-------+-------------+------+-----+-------------------+-------+
2 rows in set (0.00 sec)
mysql> insert into test (str) values ("demo");
Query OK, 1 row affected (0.00 sec)
mysql> select * from test;
+------+---------------------+
| str  | ts                  |
+------+---------------------+
| demo | 2008-10-03 22:59:52 | 
+------+---------------------+
1 row in set (0.00 sec)
mysql>

参考资料:

Date and Time Function
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

标签:default,0.00,Invalid,sec,value,str,mysql
From: https://blog.51cto.com/u_15588078/6532061

相关文章

  • A potentially dangerous Request.Path value was detected from the client 异常
    我们在ASP.net4.0中使用URL导向后,我们在访问类似如下的地址一个面试题!********/,就会报错误: ApotentiallydangerousRequest.PathvaluewasdetectedfromtheclientatSystem.Web.HttpRequest.ValidateInputIfRequiredByConfig()  atSystem.Web.HttpApplication.Va......
  • 'utf-8' codec can't decode byte 0xbc in position 1182: invalid start byte
    2.如果是字符集出现错误,建议多选择几种字符集测试一下:选择的经验是:如果是爬取到的网页文件,可以查看网页文件的meta标签下的charset属性值。例如:<metacharset="UTF-8">1也可以使用notepad++打开,查看下右下角的部位,会指示该文件是那种编码。 用一个例子来演示会更加清晰......
  • QA|ValueError: write to closed file报错怎么debug|IHRM接口自动化测试
    unittest生成自动化测试报告时报错ValueError:writetoclosedfile,如下图代码如下:  原因排查:因为withopen打开文件后会自动关闭,也就是上图16行执行完就自动关闭了,此时再执行测试套件就无法写入已关闭的文件中了,解决办法是把测试套件执行操作放到withopen里面,如下图: ......
  • 基于Easy-Poi 的自定义 ArgumentResolver 和 ReturnValueHandler
    开发中常用到Excel的导入导出,为了方便快速的使用,让使用者使用Excel像使用JSON一样便捷(@RequestBody@ResponsBody)所以,是否可以自定义编写类似功能的注解 @RequestExcel 和@ResponseExcel  一、实现思路:根据Mvc的参数转换和返回值处理机制实现,excel相关工具......
  • 一次SQL_ID和HASH_VALUE转换尝试引发的误区
    这篇文章中曾谈到一个隐藏问题:引用原文:“使用@dbsnake大牛的SQL可以知道SQL_ID和HASH_VALUE的一一对应关系:隐藏问题1:这里的截图可能有点问题,结果并不准确,问题就出在这个SQL中使用的算法中,在另一篇博文中会仔细说明这个问题。”问题背景:这里使用以下两个SQL获取SQL_ID对应的HASH_VAL......
  • rolling invalidation对子游标产生的影响
    这两天做性能测试碰见一个问题,比较有意思。一条SQL,使用了绑定变量,查看V$SQLAREA发现version_count是2,查看V$SQL,发现有两条记录,分别对应了0和1两个childcursor:再查看这两个childcursor对应的执行计划:childcursor:0----------------------------------------------------------......
  • mysql:报错Incorrect string value:’\xF0\x9F\x94\xA6\xF0\x9F…’
     一,报错信息:1,报错:Incorrectstringvalue:'\xF0\x9F\x94\xA6\xF0\x9F...'forcolumn'content'atrow1报错的原因:字符串中包含了emoji表情:如:......
  • Vue进阶(幺贰陆):表格复用 TypeError: _self.$scopedSlots.default is not a function解
    (文章目录)一、前言在使用elementUI的el-table组件时,表头应用v-if判断来动态显示,正常来说这样的操作是没有问题的,但是如果在这基础上使用<templateslot-scope="scope">操作的话,表头一旦切换就会报错,错误信息如下:_self.$scopedSlots.defaultisnotafunction二、解决方......
  • C++ multi process share value via write and read data from serialized file,the b
    #include<atomic>#include<chrono>#include<cmath>#include<condition_variable>#include<cstddef>#include<forward_list>#include<fstream>#include<functional>#include<future>#include<iom......
  • 解决ValueError: Please install nodejs >=12.0.0 before continuing
     1、升级你的condacondaupdateconda 2、https://anaconda.org/conda-forge/nodejs  Toinstallthispackagerunoneofthefollowing运行  condainstall-c"conda-forge/label/cf202003"nodejs 先运行这个不行的话,再选其他的运行。 例如:condainstall-......