У меня есть две таблицы: 'билет' и 'ticket_category'. В таблице «Ticket» есть столбец «Ticket_Uid» и его тип «UniqueIdentifier». Каждый билет «билет» в «билет» стол имеет один ко многим изображениям в 'ticket_category' стол. .Ошибка ввода значений, разделенных запятыми, в таблице: SQL Server 2008
'билета' стол:
Ticket_Uid
100
Ticket_Category:
Ticket_Uid Ticket_Category_Uid
100 ABC
100 DEF
100 XYZ
Я хочу создать следующую таблицу с именем '' comment_mining:
Ticket_Uid Category_List
100 ABC,DEF,XYZ
таблица уже создана, используя следующие:
create table dbo.comment_mining
(
Ticket_UID [uniqueidentifier] NOT NULL,
time_created datetime,
time_closed datetime,
total_time_taken int,
category_list nvarchar(500),
comment_list varchar(8000)
);
Я уже создал эту таблицу и заселена столбец «Ticket_Uid».
Для вставки в столбец «category_list», я использую следующий запрос:
insert into dbo.comment_mining(category_list)
SELECT
(SELECT distinct convert(varchar(500),category_id) + ',' AS [text()]
FROM ticket_category pr
WHERE pr.ticket_uid = p.ticket_uid
FOR XML PATH (''))
AS Category_list
FROM comment_mining p
Когда я запускаю выше запрос, он дает мне следующую ошибку:
Msg 515, Level 16, State 2, Line 1
Cannot insert the value NULL into column 'Ticket_UID', table 'Support_Saas.dbo.comment_mining'; column does not allow nulls. INSERT fails.
The statement has been terminated.
(который как я даже не вставляю в столбец «Ticket_Uid»)
Когда я запускаю тот же запрос без инструкции insert, он выполняется отлично. Запрос выглядит следующим образом:
SELECT
(SELECT distinct convert(varchar(500),category_id) + ',' AS [text()]
FROM ticket_category pr
WHERE pr.ticket_uid = p.ticket_uid
FOR XML PATH (''))
AS Category_list
FROM comment_mining p
Да, есть некоторые NULL значения, когда выше запрос выполняется, но столбец «category_list» в «comment_mining» таблицы может принимать NULL значения. Почему ошибка в столбце «ticket_Uid»?
Кто-нибудь, пожалуйста, объясните, почему это происходит и каково это?
P.S. - Я новичок в SQL.
Спасибо за ваш ответ. Я просто понял это. Вы абсолютно правы. Когда я удалил ограничение из ticket_uid, я смог правильно встать. – Patthebug