【发布时间】:2012-10-30 04:46:11
【问题描述】:
所以我正在尝试使用以下代码创建这个 Table usr:
psCreateTable = con.prepareStatement("CREATE TABLE usr (pk_ID Integer NOT NULL, username VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, firstname VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, admin BOOL DEFAULT FALSE, PRIMARY KEY(pk_ID))");
psCreateTable.execute();
当我执行代码时,我得到了这个异常:
java.sql.SQLSyntaxErrorException: TYPE 'BOOL' does not exist
这绝对可以正常工作,因为它是从另一个表复制粘贴的。那么为什么不工作呢?
有什么建议吗?
谢谢。
【问题讨论】:
-
你试过用
TINYINT(1)代替BOOL吗? -
不,我特别不想这样做。太麻烦了,我只知道 BOOL 应该可以工作。
-
你确定你的目标是相同的数据库版本吗?
-
@ArunManivannan 是的,100% 确定
-
我刚刚检查了我的 SQL Server 管理,但没有看到 Bool 数据类型。可能是 tinyint(1) :) 1 = true, 0 = false
标签: java mysql prepared-statement