2014-12-04 3 views
0

Я хочу получить данные из одной таблицы в другую, я взял ссылки со многих сайтов и Stackoverflow, но я не смог решить проблему. Последнее поле - поле заявителя, в которое я хотел бы отправить значение по умолчанию «Нет». я хочу сделать все это дело в одном запросеPHP MySQL вставляет данные из одной таблицы в другую таблицу

insert into user_identity (login_no, customer_id, prename, 
fullname, mobile, dob, age, applicant) values 
select login_id, customer_id, c_prename, CONCAT_WS(' ',`c_firstname`,`c_lastname`), 
c_mobile, dob, age, 'No' from customer where id = '1' 
+0

Не могли бы вы рассказать нам, как два таблицы настроены? – Xavjer

+0

Что такое «претендент», который может содержать в таблице клиентов? Если вы хотите заменить NULL на «Нет», просто используйте COALESCE (заявитель, «Нет») – Giles

+0

, какую дополнительную информацию вы хотите? @Xavjer –

ответ

2

ключевого слова VALUES не нужны, попробуйте это ..

insert into user_identity (login_no, customer_id, prename, 
fullname, mobile, dob, age, applicant) 
select login_id, customer_id, c_prename, CONCAT_WS(' ',c_firstname,c_lastname), 
c_mobile, dob, age, 'No' from customer where id = '1' 

см это .. http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

+0

Я думаю, что вы хотите, чтобы в поле fullname фактическое имя первого и последнего совпадало, поэтому вам нужно будет удалить 'make, чтобы он выглядел следующим образом: CONCAT_WS ('', c_firstname, c_lastname), – Xavjer

+0

Это было мое плохое Спасибо @sarath за ответ! Это действительно помогло мне! –

0

Когда мы вставляем из В другой таблице мы не используем значения ключевых слов, поскольку мы не предоставляем значения неявно. мы извлекаем его из другой таблицы. Таким образом, в этом смысле, чтобы создать таблицу как точная копия другого, мы можем сделать что-то вроде этого

CREATE TABLE EMP as SELECT * FROM EMPLOYEE 

Аналогично при вставке мы делаем что-то вроде этого

Insert into <tablename>(column name) select (column name) from <Table name>