2009-08-13 66 views
0

我想創建一個包含三個弦的表:如何在mysql中創建一個包含3列的表?

  1. JSP頁面
  2. 部分JSP頁面(如頁腳,標題,文字)
  3. 實際值文本

如何我這樣做:

  1. 從命令提示符
  2. 從Java應用程序(創建如果它不存在嗎? - 是多麼常見)

感謝

回答

2

這是不太可能你會想動態創建一個表,特別是如果你需要保存數據並在其他會話中獲取。最好使用mysql命令提示符或像SQL Yog這樣的圖形工具創建一個表,稍後您將在JSP頁面上訪問該表。

的命令來創建表看起來就像這樣

CREATE TABLE `pages` (
    `id` int(11) NOT NULL auto_increment, 
    `part_of_page` varchar(30) NOT NULL, 
    `actual_text` varchar(300) NOT NULL, 
    PRIMARY KEY (`id`) 
) CHARACTER SET `utf8`; 
+0

爲什麼ID主鍵? – vehomzzz 2009-08-13 14:46:07

+0

請不要說'NOT NULL default'',而是說'NOT NULL'。這樣,如果嘗試插入空數據,數據庫將會出錯。 – hhaamu 2009-08-13 14:53:54

1

由於PHP思想家說,你很少想在程序中動態創建一個表。但是,如果你有一個正當的理由,你只需提交「創造」的語句就像一個更新查詢:

try 
{  
Statement st=conn.createStatement(); 
    st.executeUpdate("create table mytable ... whatever ..."); 
    st.close(); 
} 
catch (SQLException oops) 
{ 
    ... query had syntax errors or something ... 
} 

這是更新而不是查詢,所以沒有返回結果集。返回值是更新記錄的數量,對於「創建表」,它始終爲零,因此沒有任何問題會影響它。如果有錯誤

+0

+!如果不存在,如何創建? – vehomzzz 2009-08-13 17:26:31

+0

唯一的竅門是檢查它是否已經存在。我不知道任何通用的SQL方法來詢問表是否存在,但通用的Java方法是使用Connection.getMetaData()獲取數據庫的DatabaseMetaData對象,然後執行getTables(null,null,「mytablename 「,null),如果你得到任何回報,表格就存在。 (如果需要的話,爲其他參數使用非空值以避免歧義 - 請參閱JavaDocs。) 大多數SQL引擎現在支持「information_schema」,因此您可以根據該信息進行查詢。但我認爲DatabaseMetaData方法更清晰。 – Jay 2009-08-14 16:23:21

相關問題