Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: создать копию существующей таблицы
 
 автор: anatoliy   (10.03.2007 в 12:09)   письмо автору
 
 

Есть база db1, в ней таблица tbl1 c множеством полей.
Как при помощи SQL-запросов и/или клиента MySql создать
таблицу tbl2, чтобы она была копией tbl1(структура и данные),
tbl3 копия tbl1(только структура).
Спасибо за ответы!

   
 
 автор: cheops   (10.03.2007 в 12:34)   письмо автору
 
   для: anatoliy   (10.03.2007 в 12:09)
 

Для этого можно воспользоваться запросом
CREATE TABLE tbl2 SELECT * FROM tbl1;
Точно также можно создать и таблицу tbl3, уничтожив все записи в ней при помощи запроса
TRUNCATE TABLE tbl3;

   
 
 автор: anatoliy   (10.03.2007 в 21:12)   письмо автору
 
   для: cheops   (10.03.2007 в 12:34)
 

Большое спасибо! Получилось, но к сожалению не все...
При просмотре результата клиентом MySql получилось следующее:

tbl1

Field | Type | Null | Key | Default | Extra
-----------------------------+------+-----+---------+-----------
id | int(10) unsigned | NO | PRI | NULL | auto_increment

tbl2

Field | Type | Null | Key | Default | Extra
-----------------------------+------+-----+---------+-----------
id | int(10) unsigned | NO | | NULL |

Для PRI и auto_increment как я понимаю нужны дополнительные SQL-запросы?

   
 
 автор: cheops   (10.03.2007 в 23:01)   письмо автору
 
   для: anatoliy   (10.03.2007 в 21:12)
 

Для того, чтобы создать на столбце id первичный ключ, выполните запрос
ALTER TABLE tbl2 PRIMARY KEY (id)

Для того, чтобы снабдить поле id атрибутом AUTO_INCREMENT выполните запрос
ALTER TABLE tbl2 CHANGE id id INT( 11 ) NOT NULL AUTO_INCREMENT

   
 
 автор: OldMen   (10.03.2007 в 23:16)   письмо автору
 
   для: cheops   (10.03.2007 в 12:34)
 

Можно вместо двух запросов Create + Truncate применить один

CREATE TABLE tbl2 SELECT * FROM tbl1 WHERE NULL;

   
 
 автор: anatoliy   (12.03.2007 в 01:08)   письмо автору
 
   для: OldMen   (10.03.2007 в 23:16)
 

Спасибо всем, тема закрыта.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования