首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Remove on update condition drop mysql table

Remove on update condition drop mysql table
EN

Stack Overflow用户
提问于 2010-09-06 21:25:06
回答 3查看 19.2K关注 0票数 20

我有一个mysql表和数据条目:

代码语言:javascript
复制
CREATE TABLE    `invoices`.`invoices` (
    `InvoiceID` bigint(20) unsigned NOT NULL auto_increment,
    `UserID` int(10) unsigned NOT NULL,
    `Value` decimal(10,3) NOT NULL,
    `Description` varchar(4048) NOT NULL,
    `DateTime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    PRIMARY KEY    (`InvoiceID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin5;

我想删除"on update CURRENT_TIMESTAMP“条件。怎样才能修改这个表呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-06 21:28:46

代码语言:javascript
复制
ALTER TABLE `invoices`.`invoices`
    CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
票数 52
EN

Stack Overflow用户

发布于 2017-01-23 18:38:59

对于您的用例,我认为使用DATETIME会更好,例如:

代码语言:javascript
复制
ALTER TABLE `my_table`
    CHANGE `my_col` `my_col` DATETIME NOT NULL DEFAULT NOW();

这将在插入时默认为NOW(),但在更新时保持不受影响。

查看这个问题可以很好地解释其中的差异:Should I use field 'datetime' or 'timestamp'?

票数 1
EN

Stack Overflow用户

发布于 2017-08-23 06:58:43

代码语言:javascript
复制
ALTER TABLE `invoices` CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'

代码语言:javascript
复制
ALTER TABLE `invoices` CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3651798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档