select into from 提示 Undeclared variable.....錯誤的解決辦法 && select into from 和 insert into select 的用法和區別


 然而今天在使用 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 復制表或表結構的時候,只是得到了一個“外殼”,就像克隆人一樣,只是得到了一個軀體,個人的意識、回憶都不會克隆的。像原表的主鍵、外鍵、約束、觸發 器、索引都不會被復制過來

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM