然而今天在使用 SELECT INTO FROM 備份mysql數據表的時候,運行相關 sql 語句的時候卻一直返回 [Err] 1327 - Undeclared variable: ...... 這種錯誤,實在不解,經過查詢相關資料才知道,原來 mysql 數據庫是不支持 SELECT INTO FROM 這種語句的,但是經過研究是可以通過另外一種變通的方法解決這個問題的,下面就來說說解決這個錯誤的辦法吧!
mysql> select user,host into user2 from user; ERROR 1327 (42000): Undeclared variable: user2
解決方法是:
mysql> create table user2 (select * from user); Query OK, 6 rows affected (0.18 sec) Records: 6 Duplicates: 0 Warnings: 0
mysql> create table user01 (select user,password,host from user); Query OK, 6 rows affected (0.20 sec) Records: 6 Duplicates: 0 Warnings: 0 mysql> select * from user01; +------+----------+-----------+ | user | password | host | +------+----------+-----------+ | root | | localhost | | root | | lmr | | root | | 127.0.0.1 | | root | | ::1 | | | | localhost | | | | lmr | +------+----------+-----------+ 6 rows in set (0.00 sec) mysql> desc user01; +----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | user | char(16) | NO | | | | | password | char(41) | NO | | | | | host | char(60) | NO | | | | +----------+----------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
注意: SELECT INTO 復制表或表結構的時候,只是得到了一個“外殼”,就像克隆人一樣,只是得到了一個軀體,個人的意識、回憶都不會克隆的。像原表的主鍵、外鍵、約束、觸發 器、索引都不會被復制過來