文章出處

    今天試了一下數據表中的數據備份到另一個空的數據表,然后使用了SQL SELECT INTO語句,然后提示Undeclared variable......錯誤,現在在這里做下總結并給出解決辦法。

應用程序在開發、測試過程中,經常會遇到需要表復制的情況,比如將一個表table1的數據的部分字段或全部字段復制到表table2中,這時候就是 SELECT INTO 或者 INSERT INTO SELECT 發揮奇妙無窮的作用的時候了。至于這兩種方法的區別和用法,就請慢慢往下看吧!
 
(1)INSERT INTO SELECT語句
 
語句形式為: Insert into Table2(field1,field2,,field3,...) select key1,key2,,key3,... from Table1 
 
這種用法要求被插入的表Table2必須存在,由于被插入的表Table2已經存在,所以我們除了插入源表Table1的字段外,還可以插入我們自定義的常量。

(2)SELECT INTO FROM語句
 
語句形式為: SELECT key1, key2, key3 into Table2 from Table1 
 
這種用法要求被插入的表Table2不存在,因為在插入時會自動創建表Table2,并將Table1中指定字段數據復制到Table2中。

 

  然而今天在使用 SELECT INTO FROM 備份mysql數據表的時候,運行相關 sql 語句的時候卻一直返回 [Err] 1327 - Undeclared variable: ...... 這種錯誤,實在不解,經過查詢相關資料才知道,原來 mysql 數據庫是不支持 SELECT INTO FROM 這種語句的,但是經過研究是可以通過另外一種變通的方法解決這個問題的,下面就來說說解決這個錯誤的辦法吧!

  進過搜索相關資料以及實驗結果證實,可以使用

1 Create table Table2 (Select * from Table1);

  這種語句代替

1 SELECT key1, key2, key3 into Table2 from Table1;

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()