Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 使sybase中的列默认为当前插入行的日期/时间_Date_Default_Sybase - Fatal编程技术网

Date 使sybase中的列默认为当前插入行的日期/时间

Date 使sybase中的列默认为当前插入行的日期/时间,date,default,sybase,Date,Default,Sybase,我有一个sybase 15 DB,对于我的一个表,我想将列默认为行插入的当前日期/时间。这可能吗 在sybase文本中,说明如下: ALTER TABLE sales_order MODIFY order_date DEFAULT CURRENT DATE 在我的数据库上,这没有任何作用,因为无法识别当前日期。尝试改用getDate()使用getDate()是有效的解决方案,您一定有语法错误。试着这样做: create table test_tbl ( date_data DATET

我有一个sybase 15 DB,对于我的一个表,我想将列默认为行插入的当前日期/时间。这可能吗

在sybase文本中,说明如下:

ALTER TABLE sales_order
MODIFY order_date DEFAULT CURRENT DATE
在我的数据库上,这没有任何作用,因为无法识别当前日期。

尝试改用getDate()

使用
getDate()
是有效的解决方案,您一定有语法错误。试着这样做:

create table test_tbl (
     date_data DATETIME default getDate() NOT NULL
)
<代码>默认GETDATE()正确。这件事无关紧要;混合大小写可能表示Java方法,但它是一个直接的TSQL函数。如果需要进一步帮助,请发布准确的错误消息

另外,ALTERTABLE方法为将来的插入设置默认值;如果要更改现有数据,则需要更新(适用于小表)或卸载/重新加载表(适用于大表)


注意空/非空:您不想在不理解的情况下更改它。同样,需要解决现有/未来的问题。NOTNULL防止将NULL作为插入值显式传递。

当前日期是一种SQL标准,但并未被普遍采用。
如其他地方所述,应改用getdate()T-SQL函数

它说我需要一个常量、常量表达式或默认值后的变量。令人惊讶的是,我很确定我使用了它(用于表定义),就像这里写的一样,除非您不使用Sybase ASE?这无法满足“插入行的当前日期/时间”。它将更新行被修改的日期,如Sybase IQ的文档所述:“每当行被更新时,该值将使用当前日期和时间进行更新。”值得注意的是(与Sql Server不同),列规范部分的顺序很重要:“日期\数据日期时间默认getDate()NOT NULL”是有效的;虽然“date\u data DATETIME NOT NULL default getDate()”不是。但是如何让它在更新时不像使用“current”关键字那样更新日期呢?