2014-11-30 4 views
0

Нужна помощь по следующему. Как скопировать данные из одной таблицы столбцов SQL в другую таблицу столбцов sql?как скопировать данные из одной таблицы столбцов SQL в другую таблицу столбцов SQL

У меня есть следующие таблицы

dbo.Thecat62 и dbo.thecase6

внутри dbo.Thecat62, мне нужно скопировать значение столбца Work_Order_Job_Start_Date в dbo.thecase6 столбце Job_Start_Date. В столбце Job_Start_Date в dbo.thecase6 есть нулевое значение.

Я попытался с помощью следующей команды

INSERT INTO dbo.thecase6 (Job_Start_Date) ВЫБОР Work_Order_Job_Start_Date ОТ dbo.thecat62

но получил ошибку не удается вставить значение NULL в столбец 'CaseNo', table 'This.dbo.TheCase6'; столбец не допускает нулей. INSERT терпит неудачу. Заявление было прекращено.

Любая помощь будет отличной!

Спасибо!

ответ

2

Из этой таблицы Therefore.dbo.TheCase6 для CaseNo вы должны указать Not NULL ТРУДНОСТИ что-то вроде этого

CaseNo int NOT NULL 

Но вы не выбрали CaseNo столбец из dbo.thecat62 таблицы, так что вы явно пытаетесь вставить аннулирует в столбца с непустым значением.

Вам нужно просто выбрать столбец CaseNo, предположив, что он не содержит никаких нулей в исходной таблице.

INSERT INTO dbo.thecase6 (Job_Start_Date,CaseNo) 
SELECT Work_Order_Job_Start_Date,CaseNo FROM dbo.thecat62 
+0

@Craig ya right Обновлено –

+0

Благодарим вас за ответ. Я добавил caseno вместе с другим столбцом с именем Job_Number, так же как без номера_события, он также выкинет ошибку. Невозможно вставить значение NULL в столбец «Job_Number», таблицу «This.dbo.TheCase6»; столбец не допускает нулей. INSERT терпит неудачу. Следовательно, я добавил номер_события, но затем он показывает ошибку. Нарушение ограничения PRIMARY KEY 'TheCase6PK'. Невозможно вставить дубликат ключа в объект 'dbo.TheCase6'. Так как это проблема, будет обновляться вместо работы вставки? Как я могу выполнить запрос на обновление? – James

+0

Посмотрите здесь: http://stackoverflow.com/questions/1202075/advanced-mysql-query-update-table-with-info-from-anothertable – Craig

1

Ошибка говорит, что у нее есть столбец CaseNo, который не допускает NULL.

Невозможно вставить значение NULL в столбец «CaseNo», таблицу «This.dbo.TheCase6»;

Вы вставляете строки в новую таблицу, которая будет иметь только один столбец заполнен и остальные столбцы будут пустыми

Либо Alter таблица, в которой вы вставляете данные и позволяют столбец, чтобы нуль значения. Или , если вы не хотите разрешать нулевые значения, обновите нулевые значения до некоторых значений по умолчанию.

Смежные вопросы