2013-12-18 38 views
-1

我試圖通過java在mysql中創建表。順便說一下,我正在使用膩子。這是我迄今爲止的一些代碼,但它不起作用。如何在使用java時在MySQL中創建表格

rs=s.executeQuery("CREATE TABLE test(id CHAR(2),name VARCHAR(3),PRIMARY KEY(id)); "); 
while(rs.next()) 
{ 
    System.out.println(rs.getString(1)); 
} 
catch (SQLException ex) 
{ 
    System.out.println("SQLException:"+ ex.getMessage()); 
} 
+1

你有什麼錯誤? –

+0

我相信你正在使用正確的API。如果這不起作用,我們需要知道這個錯誤以進一步幫助您。 –

+0

它會捕獲任何異常嗎? –

回答

0

您的查詢成功!但是你沒有得到結果集! CREATE TABLE不會給出行或列。 您已經受騙的文件爲:

返回: 包含給定查詢所生成數據的ResultSet對象;不能爲null

然而

拋出: SQLException - 如果發生數據庫訪問錯誤,......給定的SQL語句生成任何單個ResultSet對象之外,...

在我看來,「執行」的呼叫將是正確的方式。

0

我不認爲通過Java生成數據庫模式是個好主意。使用數據庫附帶的實用工具來創建您的模式。這樣,您或任何人(如DBA)都可以創建您的表,視圖,索引,約束,授予權限等,而無需瞭解Java。您甚至可以讓您的數據庫實用程序生成一個可以運行的SQL腳本以從頭開始重新生成模式。最後一點:我相信你會更好地調用你的主鍵test_id,並使其輸入numberic,long或int。這樣,當您將其作爲另一個表中的外鍵引用時,您將立即知道它將引用回測試表。