当我插入指定列的其他值时,我想插入系统的日期,但这并不需要 日期正确。
当我分别触发查询时,它会提供所需的日期格式:
mysql> select date_format(sysdate(),'%d-%m-%Y') ;
+-----------------------------------+
| date_format(sysdate(),'%d-%m-%Y') |
+-----------------------------------+
| 13-06-2019 |
+-----------------------------------+
但是我无法在“插入”查询时设置系统日期:
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) );
+------+-------+------------+------------+-----------------+-------+----------+-------------+---------+------------+-----------+
| 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
);
答案 0 :(得分:2)
日期是日期,无需将其转换为字符串,然后依靠隐式转换回日期:
pitest {
failWhenNoMutations = false
outputFormats = ['XML', 'HTML']
pitestVersion = "1.4"
targetClasses = ['.']
jvmArgs = ['-Xmx2048m', '-Xms1024m']
threads = 4
dependencyDistance = 1
useClasspathFile = true //useful with bigger projects on Windows
enableDefaultIncrementalAnalysis = true
timestampedReports = false
timeoutConstInMillis = 30000
mutators = [
"CONDITIONALS_BOUNDARY",
"NEGATE_CONDITIONALS",
"REMOVE_CONDITIONALS",
"MATH",
"INCREMENTS",
"INVERT_NEGS",
"INLINE_CONSTS",
"RETURN_VALS",
"VOID_METHOD_CALLS",
"TRUE_RETURNS",
"FALSE_RETURNS",
"PRIMITIVE_RETURNS",
"EMPTY_RETURNS",
"NULL_RETURNS",
"NON_VOID_METHOD_CALLS",
"CONSTRUCTOR_CALLS",
"EXPERIMENTAL_SWITCH"
]
}
}
如果要跳过时间部分,请使用INSERT INTO mems (mName, mPh1, mPh2, mAddr, mType, mJoinFee, mProtectFee, doj)
VALUES( 'Shubh', '1231231231', '1231231222', 'Ram janki nagar', 'S', 100.00, 500.00
, sysdate() );
答案 1 :(得分:0)
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 )
;