2017-04-22 40 views
0

我想知道如何在SQL中插入常量值。下面是我在Java中構建的一個程序片段,以說明我的意思。如何在SQL中插入常量值

PreparedStatement customerInsert = 
DBconnection.getConnection().prepareStatement("INSERT INTO customer 
(customerId, customerName, addressId, active, createDate, createdBy, 
lastUpdate, lastUpdateBy) + "VALUES(null, null, null, null, 
UTC_TIMESTAMP(), \"" + LogInController.getUserName() + "\", UTC_TIMESTAMP(), 
\"" + LogInController.getUserName() + "\");"); 

空值只是佔位符,我試圖保持不變的值是活動值。這個SQL從用戶的文本字段插入值,沒有活動的文本字段。當用戶提交表單時,我只希望它始終爲1。有人知道我需要把這個值作爲插入語句中的值來確保active值始終爲1嗎?當我將1作爲值時,在測試插入語句時,我在MySQL Workbench中遇到錯誤。我已經檢查了其他StackOverflow答案,試圖找出答案。我還瀏覽了一些文檔,並在Lynda.com上觀看了SQL課程。我沒有任何運氣搞清楚它。任何洞察力將不勝感激。

+0

當您試圖將1作爲活動列的值時,出現什麼錯誤? –

+1

爲什麼不在db側使'活動'值等於1,你可以設置一個條件到列來設置總是固定值1,每個列類型都有默認值條件... – Hayra

+0

按照Hayra建議 – Strawberry

回答

0
final int ACTIVE = 1; 

,並把它傳遞給你的SQL語句

也可以使默認值爲1就在你的數據庫實行

+0

哦,男人,我覺得沒有想過把它變成一個變量並使其最終成爲可笑。謝謝! – aforbe2

0

有一點需要指出的是,這是使用的好方法準備好的陳述這對各種問題都是開放的,你應該改變它,以便你瞭解如何按照預期使用它們。

已閱讀http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html並查看它們是如何使用的? (例如,使用setInt())

+0

謝謝你指出。我會查看文檔並在適當的地方重構我的方法。我對Java仍然很陌生,我正在開發我的第一個非常大的項目。我真的很欣賞那種批評,謝謝! – aforbe2