|
|
|
| Всем привет
сегодня вот проходил тест по программированию и был один интересный вопрос на который я походу не правильно ответил и меня это слегка задело
собственно вопрос в теме, при чем без временной или промежуточной таблици | |
|
|
|
|
|
|
|
для: Filsh
(07.07.2011 в 01:34)
| | INSERT SELECT?
не вижу что бы могло этому помешать | |
|
|
|
|
|
|
|
для: Valick
(07.07.2011 в 07:26)
| | Так вот именно и я так ответил, а оказалось не правильно!!!
вчера пробовал написать запрос ну что то у меня не получилось, сегодня вечером еще попробую | |
|
|
|
|
|
|
|
для: Filsh
(07.07.2011 в 12:42)
| | Этот запрос может не сработать без расшифровки всех полей, если у вас используется уникальный индекс, однако, в таблицах без уникального индекса или если индекс снабжен атрибутом AUTO_INCREMENT и вы для него явно задаете NULL - проблем быть не должно - все вставляется нормально. | |
|
|
|
|
|
|
|
для: Filsh
(07.07.2011 в 01:34)
| | Таблица
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(10) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
|
запрос
insert into test select id, name from test;
|
или даже
insert into test selecе * from test;
|
Прекрасно работает!!!!
но если auto_increment и без null, то ошибка, но это и логично)
Спасибо, теперь меня не проведут)) | |
|
|
|
|
|
|
|
для: Filsh
(08.07.2011 в 00:33)
| | Оказывается все правильно
там был вариант ответа
Да, одним запросом, но только есть таблица не временная
так вот если таблица временная, то нельзя, пишет
ERROR 1137 (HY000): Can't reopen table: 'table'
Вот так вот)) | |
|
|
|