当我在插入指定列的其他值时,我想插入系统的日期,但它没有正确地接受日期。
当我单独启动查询时,它会给出所需的日期格式:
mysql> select date_format(sysdate(),'%d-%m-%Y') ;
+-----------------------------------+
| date_format(sysdate(),'%d-%m-%Y') |
+-----------------------------------+
| 13-06-2019 |
+-----------------------------------+ 但我无法在“Insert into”查询时设置系统日期:
我的问题是:
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‘中存储的数据为:
+------+-------+------------+------------+-----------------+-------+----------+-------------+---------+------------+-----------+
| 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)创建表结构:
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
);发布于 2019-06-14 02:38:43
Date是date,不需要将其转换为字符串,然后再隐式转换回date:
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())
发布于 2019-06-14 04:03:47
CURRENT_TIMESTAMP
调用一个函数来获取服务器上的当前时刻。
标准SQL函数CURRENT_TIMESTAMP返回当前事务开始的时刻。它是特定于MySQL的NOW函数的同义词。
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 )
;https://stackoverflow.com/questions/56586725
复制相似问题