【发布时间】:2014-02-15 14:49:05
【问题描述】:
如何在 SQL Server 中插入带有空值的标识列,如 MySQL?
在 MySQL 中,我们可以为自动递增的列放置 null 和插入值。如何在 SQL Server 中执行此操作?
例子:
在 MySql 中:
CREATE TABLE `employee` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`phone` VARCHAR(45),
`salary` DOUBLE NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
上表中的id是auto inc,表示SQL Server中的标识,将值插入上表MySQL支持下面的查询
INSERT INTO `employee` (`id`,`name`,`phone`,`salary`)
VALUES (null,'Harry','9985099850',60000);
MySQL 自动将 auto inc id 插入到标识列,但是 SQL Server 怎么做呢?
请指导我如何在 SQL Server 中执行此操作。我几天来一直在这里苦苦挣扎,以使用 JDBC 在我的应用程序中解决这个问题。
【问题讨论】:
-
您不能在 SQL Server 中执行此操作 - 如果您有一个
IDENTITY列,正常的用例是让 SQL Server 自动分配一个值,但只是不在您的INSERT列中指定该列列表; SQL Server 将自动分配一个新值
标签: sql-server insert identity