首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在表格中插入系统日期

如何在表格中插入系统日期
EN

Stack Overflow用户
提问于 2019-06-14 02:37:08
回答 2查看 36关注 0票数 0

当我在插入指定列的其他值时,我想插入系统的日期,但它没有正确地接受日期。

当我单独启动查询时,它会给出所需的日期格式:

代码语言:javascript
复制
mysql> select date_format(sysdate(),'%d-%m-%Y') ;
+-----------------------------------+
| date_format(sysdate(),'%d-%m-%Y') |
+-----------------------------------+
| 13-06-2019                        |
+-----------------------------------+ 

但我无法在“Insert into”查询时设置系统日期:

我的问题是:

代码语言:javascript
复制
INSERT INTO mems (mName, mPh1, mPh2, mAddr, mType, mJoinFee, mProtectFee, doj) 
    VALUES( 'Shubh', '1231231231', '1231231222', 'Ram janki nagar', 'S', 100.00, 500.00,
            (select date_format(sysdate(),'%d-%m-%Y') as Date) );

表'mems‘中存储的数据为:

代码语言:javascript
复制
+------+-------+------------+------------+-----------------+-------+----------+-------------+---------+------------+-----------+
| m_Id | mName | mPh1       | mPh2       | mAddr           | mType | mJoinFee | mProtectFee | mStatus | doj        | lostbooks |
+------+-------+------------+------------+-----------------+-------+----------+-------------+---------+------------+-----------+
|    1 | Shubh | 1231231231 | 1231231231 | Ram janki nagar | S     |   100.00 |      500.00 | A       | 0000-00-00 |         0 |
+------+-------+------------+------------+-----------------+-------+----------+-------------+---------+------------+-----------+
1 row in set (0.04 sec)

创建表结构:

代码语言:javascript
复制
CREATE TABLE mems (
    m_Id int(6) auto_increment primary key,
    mName varchar(25) not null,
    mPh1 int(12) not null,
    mPh2 int(12) ,
    mAddr varchar(40) not null,
    mType varchar(1) not null,
    mJoinFee decimal(6,2) not null,
    mProtectFee decimal(6,2) not null,
    mStatus varchar(1) default "A" not null,
    doj Date not null,
    lostbooks int(1) not null default 0 
);
EN

回答 2

Stack Overflow用户

发布于 2019-06-14 02:38:43

Date是date,不需要将其转换为字符串,然后再隐式转换回date:

代码语言:javascript
复制
INSERT INTO mems (mName, mPh1, mPh2, mAddr, mType, mJoinFee, mProtectFee, doj) 
VALUES( 'Shubh', '1231231231', '1231231222', 'Ram janki nagar', 'S', 100.00, 500.00
       , sysdate() );

如果您想跳过时间部分,请使用DATE(SYSDATE())

票数 3
EN

Stack Overflow用户

发布于 2019-06-14 04:03:47

CURRENT_TIMESTAMP

调用一个函数来获取服务器上的当前时刻。

标准SQL函数CURRENT_TIMESTAMP返回当前事务开始的时刻。它是特定于MySQL的NOW函数的同义词。

代码语言:javascript
复制
INSERT INTO mems (mName, mPh1, mPh2, mAddr, mType, mJoinFee, mProtectFee, doj) 
VALUES( 'Shubh', '1231231231', '1231231222', 'Ram janki nagar', 'S', 100.00, 500.00, CURRENT_TIMESTAMP ) 
;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56586725

复制
相关文章

相似问题

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