2012-03-21 6 views
0
INSERT INTO delete_subscriber (SubID,RandomCode,Email,FirstName,LastName,CreateDate,UpdateDate) 
SELECT subscriber.* 
FROM subscriber, list_sub 
WHERE ListID=? AND list_sub.SubID=subscriber.SubID; 

Я использую оператор select, чтобы получить всю запись и сохранить ее в другой базе данных, проблема в том, что в файле delete_subscriber больше столбца, что означает, что есть столбец, например удалить дату, удалить человека, который не находится в таблице подписчиков.Скопируйте данные из одной таблицы в другую таблицу в MYSQL

Как добавить их в один SQL-запрос? Или я должен использовать другое заявление? Но если я попробовать последний способ, проблема дата удаления, удаления человека не пустой, я не могу вставить частичную запись с помощью 1-го заявления

INSERT INTO delete_subscriber (SubID,RandomCode,Email,FirstName,LastName,CreateDate,UpdateDate,DeleteDate,DeletePerson) 
SELECT s.SubID,s.RandomCode,s.Email,s.FirstName,s.LastName,s.CreateDate,s.UpdateDate,NOW(),? 
FROM subscriber s , list_sub 
WHERE list_sub.ListID=? AND list_sub.SubID=s.SubID; 

Я могу запустить его на SQL, но не PHP PDO? я нашел, что он не совершает транзакции

+0

Может удалить дату быть autocomputed (WRT системной даты), или это зависит от другой таблицы? –

+0

с использованием функции now() –

+1

В этом случае выполните следующие действия: удалите * из запроса select и укажите все столбцы; добавьте новые столбцы, которые вы хотите использовать в качестве констант в инструкции select, например. now() as delete_date –

ответ

0

Изменение оператора вставки в

INSERT INTO delete_subscriber   
(SubID,RandomCode,Email,FirstName,LastName, 
CreateDate,UpdateDate,DeleteDate,DeletingPerson) 
SELECT  s.SubID,s.RandomCode,s.Email,s.FirstName,s.LastName, 
s.CreateDate,s.UpdateDate,NOW(),? 
FROM subscriber s , list_sub 
WHERE list_sub.ListID=? AND list_sub.SubID=s.SubID; 
0

Вы можете изменить дату удаления набора атрибутов delete_subscriber, удалять личность по умолчанию null до insert.and после заполнения данных из запроса выбора снова изменить их как предыдущие, а не нулевые.

+0

Извините, я не знаю, почему мой редактор в stackoverflow отключен, как вы думаете, этот код для вставки в порядке? Это два оператора sql –

+0

, почему вы заселяетесь из сценария>? вы можете выполнить запрос непосредственно в базе данных –

+0

Затем второй оператор не использует вставку, но также меняет? так как я вставляю данные в существующую запись и как я могу ссылаться на первый идентификатор один за другим? –

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