1

私は MySQL について十分な知識を持っていますが、SQL Server の詳細については初めてです。MySQL でまったく同じ問題をセットアップして解決することで、質問します。


テーブルを作成:

CREATE TABLE IF NOT EXISTS `example` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `stuff` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

テーブルに値を挿入します。

INSERT INTO `example` (
  `id`, `stuff`
) VALUES (
  NULL, 'Hello World'
) ;

上記のクエリを実行すると、id列は主キーとして使用できる次の整数を自動的に受け取ります。私の側での作業は必要ありません。

ただし、タイプのSQL Serverテーブルに行を挿入するときに同じアイデアを試すと、次のintエラーが発生します。

Cannot insert the value NULL into column 'id', table 'database.user.example'; column does not allow nulls. INSERT fails. (severity 16) ...

INSERTMySQL が値に対して行うように、主キーを自動的にインクリメントするSQL Server クエリで使用できるものは何NULLですか?

お時間をいただきありがとうございます。

4

2 に答える 2

4

列定義で列を IDENTITY 列に設定しましたか?

CREATE TABLE example (ID int IDENTITY(1,1), Stuff VARCHAR(255))

INSERT INTO example (Stuff) VALUES ('Hello World!')
于 2012-06-27T01:34:40.490 に答える
0

これは、必要な ID 列です。@Mark Byersは正しかった。列を省略してください

于 2012-06-27T01:34:38.493 に答える