mysql时间字段自动填充

Posted TestingShare

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql时间字段自动填充相关的知识,希望对你有一定的参考价值。

场景

数据库中的表需要两个字段,创建时间,更新时间。
了解mysql有这个机制,可以自动填充,就百度了下,就是不知道用了之后有什么弊端。

alter table `issue` add column  createTime datetime default CURRENT_TIMESTAMP after `jira_id`
alter table `issue` add column  updateTime datetime default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP after `jira_id`

创建时间字段,只需要设置默认值为: CURRENT_TIMESTAMP
更新时间字段需要增加个列属性:ON UPDATE CURRENT_TIMESTAMP

现在知道创建时间字段有新增数据就会创建时间,目前还不确定更新字段,有哪几种情况下,是不会自动更新时间的。

自动填充字段

【中文标题】自动填充字段【英文标题】:Auto fill field 【发布时间】:2017-11-22 08:06:29 【问题描述】:

在 account.analytic.lines 我有字段编号。每个项目都有数字字段。 所以你的目标是当我在行中输入数字字段时自动填充行中的 project_id 字段。

class AccountAnalyticLine(models.Model):
    _inherit = 'account.analytic.line'

    number = fields.Integer(related='project_id.number',string='Project Number')

    @api.onchange('number')
    def get_project_id(self):
        v=
        if self.number:
            project = self.env['project.project']
            if project.project_id.id:
                v['project'] = project.project_id and project.project_id.id or False
        return 'value': v

【问题讨论】:

【参考方案1】:

试试这个:

 @api.onchange('number')
 def get_project_id(self):
    # in new api no need for return and you can
    # affect change directly to self
    project = false
    if self.number:
        project_obj = self.env['project.project']
        # now search for project that have the same number
        porject = project_obj.search([('number', '=', self.number)], limit=1)

    self.project_id = project
    # if you want to show a warning when user fillup
    # the number field and there is no project found
    if not self.project_id and self.number:
        # number is not empty but there is no project with this number
        return 'warning': 
                        'title': _("Project Warning"),
                        'message': _('No project found with this number : %s ') % self.number
                    

别忘了导入翻译工具:

# 10.0
from odoo.tools.translate import _

【讨论】:

检查我的编辑,您可能想为您的用户添加警告消息

以上是关于mysql时间字段自动填充的主要内容,如果未能解决你的问题,请参考以下文章

根据下拉选择自动填充文本字段,其中所有值都来自 MYSQL 表

下拉选择后自动填充文本字段

jQuery自动完成,通过选择建议选项填充多个字段

使用java自动填充,实现mysql的创建修改时间的自动填充

Mysql自动设置时间(自动获取时间,填充时间)

通过选择一个字段自动完成(自动填充)多个字段