Как я могу обновить все столбцы в таблице?

0

У меня есть две таблицы A и

update A set (*) = (select  * from B where id = 1) where session_id ='123';

Обе таблицы сохраняют столбец EXCEPT для session_id в таблице A. Любая идея о том, как я могу обновить запись без объявления всех столбцов?

Результат должен выглядеть как результат следующего запроса, но я должен использовать это:

insert into A select * from B;
update A set session_id ='a';

Я хочу знать, как вставить session_id FIRST, а затем ВСЕ записи.

  • 0
    Ознакомьтесь с записями активной базы данных codeigniter codeigniter.com/user_guide/database/active_record.html#update
  • 0
    в документе вам все равно нужно объявить поля. Означает ли это, что нет способа выполнить мой запрос?
Теги:
codeigniter

1 ответ

1
Лучший ответ

Я не знаком с спецификациями codeigniter, но если все столбцы в таблице B объявлены в том же порядке в таблице A, а затем за ними следует session_id, вы можете сделать следующее:

INSERT INTO "A"
  SELECT *, '123'
  FROM "B"
  WHERE id = 1;

Если session_id сначала встречается в таблице A, за которой следуют все столбцы таблицы B в объявленном порядке, тогда вы просто меняете порядок столбцов в SELECT. Если заказ не идентичен (кроме session_id), вам не повезло.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню