当前位置: 首页 > 面试题库 >

如何为MySQL Datetime列设置默认值?

杜茂
2023-03-14
问题内容

如何为MySQL Datetime列设置默认值?

在SQL Server中为getdate()。MySQL的等效功能是什么?如果这是一个因素,我正在使用MySQL5.x。


问题答案:

重要编辑:MySQL 5.6.5起
,现在可以使用DATETIME字段实现此目的,请看下面的另一篇文章


以前的版本无法在DATETIME做到这一点…

但是您可以使用TIMESTAMP来做到这一点:

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>

注意:如果您定义的列默认为CURRENT_TIMESTAMP ON,则始终需要为此列指定一个值,否则该值将在更新时自动重置为“
now()”。这意味着,如果您不希望更改该值,则UPDATE语句必须包含“ [您的列名] = [您的列名]”(或其他值),否则该值将变为“
now()”。很奇怪,但事实如此。我希望这有帮助。我正在使用5.5.56-MariaDB



 类似资料:
  • 问题内容: 尝试使用WTForms设置SelectField的默认值时,我像这样将值传递给“默认”参数。 我也尝试了以下方法。 都不将默认选定字段设置为“ Def”。这适用于其他类型的字段,例如TextField。如何设置SelectField的默认值? 问题答案: 你发布的第一种方法是正确的,并且对我有用。唯一无法解释的原因可能是你正在运行旧版本的WTForms,它在1.0.1上对我有效

  • 问题内容: 可以为JPA中的列设置默认值吗?如果使用注释,如何做到这一点? 问题答案: 实际上,在JPA中是可能的,尽管使用批注的属性有些小小的改动,例如:

  • 我尝试使用liquibase使用liquibase“addDefaultValue”语法将我的列的默认值设置为null: 但是向myTable插入新行显示默认值仍然设置为“false”,就像以前一样。所以liquibase更改集不起作用。 如何设置列默认值为null与liquibase?

  • 问题内容: 我想通过设置默认值我NG选项,等他们并没有在所有的工作。我的代码如下: angular HTML 这是我的Plunkr。 任何帮助,将不胜感激。 问题答案: 更新: 如果您想直接获得此答案中使用的参考,则为: 参考: AngularJS ng- options中的初始选择 这对我有用: 插件中有一个未初始化的错误,除此之外,Angular会将数组中的每个对象与数组中的每个元素进行比较。

  • 问题内容: 我的UIPickerView有问题。我在欧盟AP和NA中有3个值。当我启动该应用程序时,似乎选择了EU,但是当我做出选择时,我只会返回,现在当我触摸UIPickerView时,EU值被选中,然后从NSLog中返回。 我的问题是: 当用户仅启动应用程序并且什么都不触摸时,如何定义默认值(不仅是标签),该值将被选中。 编辑: 这是我的代码来获取所选项目: 问题答案: TL:DR版本: 您没

  • 问题内容: 我需要在活动开始时为ListPreference设置默认值。我试过了,但它使列表的firts条目成为默认条目。我需要它,因为我必须检查一个条件并将满足该条件的值设置为默认值,因此我认为无法从xml文件(带有)中完成此操作 例如,假设我在arrays.xml中具有以下值数组: 在PreferenceScreen xml中: 在活动中,我想做这样的事情: 但这是行不通的,因为它将默认设置为