sql - 在 SQL Server 中创建表查询

标签 sql sql-server create-table

我尝试在 SQL Server 中运行以下 SQL 指令,但格式似乎错误。为什么不起作用?

CREATE TABLE Order
(
    OrderID NUMBER(11, 0) NOT NULL,
    CustomerID NUMBER(11, 0),
    OrderDate DATE DEFAULT SYSDATE,

    CONSTRAINT Order_PK PRIMARY KEY (OrderID),
    CONSTRAINT Order_FK1 
        FOREIGN KEY (CustomerID) REFERENCES Customer (CustomerID)
);

最佳答案

Order 是必须用方括号括起来的关键字。
NUMBER 不是 SQL Server 的数据类型,我认为您需要 INTEGER
使用 SYSDATETIME() 而不是 SYSDATE
对于客户的引用,我无法判断该声明是否正确。

CREATE TABLE [Order]
(
 OrderID INTEGER NOT NULL,
 CustomerID INTEGER,
 OrderDate DATE DEFAULT SYSDATETIME(),
 CONSTRAINT Order_PK PRIMARY KEY (OrderID),
 CONSTRAINT Order_FK1 FOREIGN KEY (CustomerID) REFERENCES Customer (CustomerID)
);

关于sql - 在 SQL Server 中创建表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200819/

相关文章:

mysql - 为什么我不断收到此错误 : ERROR 1064 (42000)?

ios - 如何在我的 iOS 应用程序中使用 SQL 数据库?

sql-server - 阿姆哈拉语应该使用什么排序规则?

mysql : select a "rollback" query (visualizing the rollback query)

sql - 如何在 STRING_SPLIT 中保留 NULL 值

sql - TSQL:包含 0-9 之间除 5 之外的所有数字的子字符串

MySQL:无法创建表(errno = 150)

mysql - Unix 中的数据库管理

sql - 在 SQL 中声明 pilotID AS INT = 1,但我需要它先是 1,然后是 2,然后是 3(循环)

sql - Oracle中删除表中的重复行