2017-04-22 100 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