このテーブルをJob_TitleとJob_Beginからなる複合プライマリキーを使用してSQL管理Studioに挿入する必要があります。問題は、これらの列の両方がNULLの2行を持つことです。コンポジットプライマリキーはこれを紙面上で処理しますが、コンポジットプライマリキーがある場合でもNULL値を受け入れるプライマリキーをプログラムに与えません。これをどうやって回避するのですか?これまでの表のコードは以下の通りです。今は動作しませんのでご注意ください。 job_titleとjob_beginの "NOT NULL"を "NULL"に変更するだけで、それらの列を主キーとして定義することができなくなります。複合プライマリキーを持つテーブルにNULL値を追加
CREATE TABLE [dbo].[Jobs]
(
[job_title] VARCHAR(255) NOT NULL ,
[job_begin] VARCHAR(255) NOT NULL ,
[proj_no] VARCHAR(255) NOT NULL REFERENCES Projects (proj_no),
[emp_no] FLOAT NOT NULL REFERENCES Employees (emp_no),
PRIMARY KEY([job_title], [job_begin])
);
GO
INSERT INTO [dbo].[Jobs]([job_title], [job_begin], [proj_no], [emp_no])
VALUES('Driver', '2015-06-01', 'p2', '18316'),
(NULL, '2015-08-01', 'p1', '28559'),
('Engineer', '2016-02-01', 'p2', '28559'),
('Analyst', '2015-10-15', 'p3', '2581'),
('Manager', '2015-04-15', 'p1', '9031'),
('Engineer', '2014-11-15', 'p3', '9031'),
('Engineer', '2015-01-04', 'p1', '29346'),
(NULL, '2014-12-15', 'p2', '29346'),
('Analyst', '2015-09-25', 'p11', '30606'),
('Programmer', NULL, 'p20', '30606'),
('Analyst', '2014-10-01', 'p1', '10102'),
('Manager', '2012-01-01', 'p3', '10102'),
('Engineer', '2015-02-15', 'p2', '25348'),
('QA', NULL, 'p11', '5500'),
('Programmer', '2016-11-09', 'p14', '5500'),
('QA', '2016-03-22', 'p2', '5500'),
('Manager', '2013-01-18', 'p20', '5500');
なぜ空白を使用しないのですか? – Bohemian