|
|
|
| Нужно в поле одной таблицы вставить выборку столбца из другой. Как это сделать? | |
|
|
|
|
|
|
|
для: sirius
(16.03.2006 в 09:35)
| | INSERT INTO table1 (col1) SELECT col2 FROM table2 WHERE .... | |
|
|
|
|
|
|
|
для: Trianon
(16.03.2006 в 10:02)
| | говорит записей - n дубликатов n-1, и вставляет из всей выборки только последнюю запись. | |
|
|
|
|
|
|
|
для: sirius
(16.03.2006 в 10:45)
| | Но ведь вставляет же?
PS.Значит нарушаются ограничения уникальности ключей. О которых Вы ни словом не упомянули. | |
|
|
|
|
|
|
|
для: Trianon
(16.03.2006 в 10:52)
| | >>PS.Значит нарушаются ограничения уникальности ключей
Вот таблица в которую вставляю, в поле goto:
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| address | varchar(128) | | PRI | | |
| goto | varchar(128) | | | | |
+---------+--------------+------+-----+---------+-------+
Столбец таблицы из которой идет вставка имеет ключ PRI | |
|
|
|
|
|
|
|
для: sirius
(16.03.2006 в 10:57)
| | В поле goto Вы вставляете данные из выборки? А в поле address что ставить во все эти строки? Ели у Вас это первичный ключ, и у него не стоит autoincrement , то есть он не автонаращиваемый, то что Вы хотите там увидеть? Там должны быть разные значения для всех строк этой таблицы. | |
|
|
|
|
|
|
|
для: Trianon
(16.03.2006 в 11:07)
| | Ясно. Спасибо за помощь! | |
|
|
|
|
|
|
|
для: sirius
(16.03.2006 в 10:45)
| | >говорит записей - n дубликатов n-1, и вставляет из всей
>выборки только последнюю запись.
Тогда следует использовать
INSERT IGNORE INTO table1 (col1) SELECT col2 FROM table2 WHERE ....
|
дублирующие записи будут игнорироваться. | |
|
|
|