我尝试使用自动增量ID和“默认日期”字段创建MS Access表,但下一个查询始终显示“ CREATE TABLE语句中的语法错误。”:
CREATE TABLE Table1
(
[ID] AUTOINCREMENT,
[Email] TEXT(255),
[ProductID] NUMBER,
[DateCreate] DATETIME,
[DateSend] DATETIME
);
ALTER TABLE Table1
ALTER [DateSend] DATETIME DEFAULT NOW() NOT NULL;
谁可以帮助我解决该查询。谢谢!
NUMBER
Ms-Access中有很多类型,因此您必须具体。我想你要Integer
。
CREATE TABLE Table1
(
[ID] AUTOINCREMENT,
[Email] TEXT(255),
[ProductID] INTEGER,
[DateCreate] DATETIME,
[DateSend] DATETIME
);
该ALTER TABLE
语法要求ALTER COLUMN
:
ALTER TABLE Table1
ALTER COLUMN
[DateSend] DATETIME DEFAULT NOW() NOT NULL;
您也可以在一个语句中包含这两个语句:
CREATE TABLE Table1
(
[ID] AUTOINCREMENT,
[Email] TEXT(255),
[ProductID] INTEGER,
[DateCreate] DATETIME,
[DateSend] DATETIME DEFAULT NOW() NOT NULL
);
最好的做法是PRIMARY KEY
在每张桌子上都有一个,而您可能打算将其用于ID
:
[ID] AUTOINCREMENT PRIMARY KEY,
一个页面,其中包含有关如何使用SQL处理Access的许多有用信息:
用于Access 2000的中级Microsoft Jet SQL
问题内容: 我需要为一个表创建一个timestamp字段,该表的行在一定时间后需要过期。如果我使用以下内容: 它以一种人类可读的格式显示时间,如果我可以将时间设置为纪元时间,则可以轻松得多,这样我就可以用几秒钟的时间进行计算。有没有一种方法可以创建一个字段,当默认情况下以纪元时间创建行时,该字段将显示当前时间?谢谢! 问题答案: 您可能希望在语句中使用该函数,如以下示例所示:
问题内容: 我有一个从中创建视图的MySQL数据库。是否可以为视图中的每一行添加一个自动递增的ID? 我试过了 但这在视图中不起作用。 问题答案: 抱歉-您无法在VIEW中自动递增(不过您可以在存储过程中执行此操作)。 从MySQL手册: 视图定义受以下限制:SELECT语句不能引用系统或用户变量。
我正在使用java中的MySQL库执行一个查询。在我的数据库结构中,有一列名为(主键,非空且自动递增)。通常在每次插入查询中,我都将值设置为,在查询执行后,它会增加最后一个id,但在java中这样做会给我异常。 这就是代码: 如何使用自动增量ID执行查询?
问题内容: 我有一个带有列的基本表: id(主要用于AI) 名称(唯一) 等等 如果唯一列不存在,则插入行,否则更新行…。 问题在于,如果它执行UPDATE,则id列上的auto_increment值会上升。因此,如果执行了大量更新,则id auto_increment会通过屋顶。 显然这是一个错误:http : //bugs.mysql.com/bug.php?id=28781 …但是我在共享主
我正在尝试格式化结果,并在用户的当前设备区域设置中向用户显示它。 当前,我可以显示整个,如下所示: 2018-10-08 16:08:37.464112 或者通过像这样指定确切的格式: 这导致以下内容: 08.10.2018 我对这个解决方案的问题是,虽然这种格式在欧盟可能是可以接受的;例如,在美国(和许多其他国家),他们习惯于不同的日期格式,例如。 10/08/2018 我的问题是:如何以当前语
第一次使用Oracle SQL(我习惯使用MySQL)。我发现关于默认日期格式的信息有冲突。在多次尝试使用INSERT IN my\u table语句的to\u DATE之后,我终于找到了我正在使用的数据库expects DD-MON-YY(即2018年1月25日)。然而,在stackoverflow和其他地方的不同页面上,我看到一些人说默认值是YYYYMMDD或DD/MM/YYYY或YYYY-M