- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉我的英语不好,我是法国人我需要一点帮助:-)
我有一个java.sql.SQLSyntaxErrorException
但我找不到发生了什么。
这是跟踪:
org.springframework.jdbc.datasource.init.ScriptStatementFailedException:
Failed to execute SQL script statement #1 of class path resource
[ddl/ddl-table.sql]: CREATE TABLE user_klesia(noss varchar(15),email
varchar(45),tel_fixe varchar(20),tel_mobile varchar(20)
,statut_consentement varchar(20) ,consentement_offres_date timestamp
NULL,certification_date timestamp NULL,derniere_tentative_date
timestamp NULL,id_web bigint(20) NOT NULL AUTO_INCREMENT,certifie
int(1) DEFAULT '0',date_naissance date ,origine varchar(2) DEFAULT
'K',question_secrete varchar(45),reponse_secrete
varchar(45),liferay_user_id bigint(20),nom varchar(200),prenom
varchar(200),indicateur_tel_fixe varchar(20),code_pays_fixe
varchar(4),indicateur_tel_mobile varchar(20),code_pays_mobile
varchar(4),civilite varchar(15),id_indv_ur
bigint(20),blocage_compte_date timestamp NULL,nb_tentatives
int(1),id_indv_alloc bigint(20),question_certifiante varchar(200)
,reponse_certifiante varchar(200) ,mode_certification varchar(20)
,otp_certifiant varchar(10) ,email_date_maj timestamp NULL
,tel_fixe_date_maj timestamp NULL ,tel_mobile_date_maj timestamp NULL
,id_individu bigint(20),france_connect varchar(45) ,sub varchar(255)
,sso_ima int(1),PRIMARY KEY (id_web)); nested exception is
java.sql.SQLSyntaxErrorException: unexpected token: (
at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(ScriptUtils.java:492)
at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.populate(ResourceDatabasePopulator.java:240)
at org.springframework.jdbc.datasource.init.DatabasePopulatorUtils.execute(DatabasePopulatorUtils.java:48)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.initDatabase(EmbeddedDatabaseFactory.java:200)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.getDatabase(EmbeddedDatabaseFactory.java:157)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder.build(EmbeddedDatabaseBuilder.java:270)
at fr.koudama.batch.excellent.test.launchJob(test.java:82)
这是我的 SQL 语句:
CREATE TABLE user_klesia(noss varchar(15),
email varchar(45),
tel_fixe varchar(20),
tel_mobile varchar(20),
statut_consentement varchar(20),
consentement_offres_date timestamp NULL,
certification_date timestamp NULL,
derniere_tentative_date timestamp NULL,
id_web bigint(20) NOT NULL AUTO_INCREMENT,
certifie int(1) DEFAULT '0',
date_naissance date,
origine varchar(2) DEFAULT 'K',
question_secrete varchar(45),
reponse_secrete varchar(45),
liferay_user_id bigint(20),
nom varchar(200),
prenom varchar(200),
indicateur_tel_fixe varchar(20),
code_pays_fixe varchar(4),
indicateur_tel_mobile varchar(20),
code_pays_mobile varchar(4),
civilite varchar(15),
id_indv_ur bigint(20),
blocage_compte_date timestamp NULL,
nb_tentatives int(1),
id_indv_alloc bigint(20),
question_certifiante varchar(200),
reponse_certifiante varchar(200),
mode_certification varchar(20),
otp_certifiant varchar(10),
email_date_maj timestamp NULL,
tel_fixe_date_maj timestamp NULL,
tel_mobile_date_maj timestamp NULL,
id_individu bigint(20),
france_connect varchar(45),
sub varchar(255),
sso_ima int(1),
PRIMARY KEY (id_web));
最佳答案
您的 DDL 有一些问题:
bigint
和 int
不能有大小。您需要将 bigint(20)
更改为 bigint
,将 int(1)
更改为 int
。auto_increment
不存在,但它被实现为 identity
。我修复了您的 SQL 并在 HyperSQL 2.3.4 中对其进行了测试。现在效果很好:
CREATE TABLE user_klesia (
noss varchar(15),
email varchar(45),
tel_fixe varchar(20),
tel_mobile varchar(20) ,
statut_consentement varchar(20) ,
consentement_offres_date timestamp NULL,
certification_date timestamp NULL,
derniere_tentative_date timestamp NULL,
id_web bigint identity NOT NULL,
certifie int DEFAULT '0',
date_naissance date ,
origine varchar(2) DEFAULT 'K',
question_secrete varchar(45),
reponse_secrete varchar(45),
liferay_user_id bigint,
nom varchar(200),
prenom varchar(200),
indicateur_tel_fixe varchar(20),
code_pays_fixe varchar(4),
indicateur_tel_mobile varchar(20),
code_pays_mobile varchar(4),
civilite varchar(15),
id_indv_ur bigint,
blocage_compte_date timestamp NULL,
nb_tentatives int,
id_indv_alloc bigint,
question_certifiante varchar(200) ,
reponse_certifiante varchar(200) ,
mode_certification varchar(20) ,
otp_certifiant varchar(10) ,
email_date_maj timestamp NULL ,
tel_fixe_date_maj timestamp NULL ,
tel_mobile_date_maj timestamp NULL ,
id_individu bigint,
france_connect varchar(45),
sub varchar(255),
sso_ima int,
PRIMARY KEY (id_web)
);
关于java.sql.SQLSyntaxErrorException : unexpected token: (,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51133443/
首先,我创建了一个 2 sql 表,一个正在运行,另一个不是我的 java 类中的代码 try { Prepared
我正在尝试使用Where 子句来过滤掉空实体。 即 @Where(clause = "size(userTracking) > 0 OR size(userResults) > 0") 在 @One
我在 phpMyAdmin 中设置了数据库,在下面的查询中,我尝试更新包含某些软件的文件路径的字符串字段,例如“C:\Program Files (x86)\Kaspersky Lab\Kaspers
这个方法一直抛出标题中的异常,我找不到原因,我已经通过连接创建了其他表,并且所有引用的表都已创建。我正在使用嵌入式JavaDB . private void createEvidenceTable()
请看下面的代码 package normal; //This class if s for checking the database. If the database doesn't exists,
我在执行以下 SQL 语句时遇到错误: String sql = "CREATE TABLE RESERVATION ("; sql = sql + " UID VARCHAR,"; sql = sq
这个问题已经有答案了: When to use single quotes, double quotes, and backticks in MySQL (13 个回答) 已关闭 5 年前。 我刚刚开
我已经阅读了之前与我的查询相关的问题。尝试在现有代码中进行这些更改。但仍然收到此错误。我花了 3 小时解决此问题,但无法捕获该错误。请帮助我解决。 我正在使用PreparedStatement发送SQ
我目前收到此错误: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual t
我尝试运行 preparedStatement ps 来检查数据库中是否存在数据。然后它将运行更新(如果存在)或插入(如果不存在)。但是,我收到语法错误 java.sql.SQLSyntaxError
我尝试执行以下代码行: List sectList = new ArrayList(); try { String query = "SELECT * FROM legaf W
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
java.sql.SQLSyntaxErrorException: No such column: id 当表已包含id列时 我正在尝试使用以下 native SQL 查询来运行来自 Reposito
我尝试使用嵌入在程序中的HSQLDB。 但是,当我创建表并向数据库中插入数据时,出现错误。 以下是错误消息的一部分。 java.sql.SQLSyntaxErrorException: unexpec
搜索了整个网站,但没有任何帮助,所以我决定打开一个新主题。这是我的问题:我正在用 java 开发一个简单的 GUI,它在后面使用 JDBC。以下是一些标题:- 我建立了成功的数据库连接,- 我可以运行
我得到了一个大的堆栈跟踪,其根源是:java.sql.SQLSyntaxErrorException:表/ View “U”不存在。后跟所有需要的异常实体:java.sql.SQLTransactio
SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to
这是我的代码。当我运行它时,出现错误: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check th
这个问题已经有答案了: SQL query: Can't order by column called "order"? (7 个回答) 已关闭 4 年前。 我想通过 api 显示订单列表,但 DAO
我试图将一个非常长的字符串(基本上是图像的 base64 编码字符串)插入到数据库中的 CLOB 类型列中。但是我收到了异常 java.sql.SQLSyntaxErrorException 。正确的
我是一名优秀的程序员,十分优秀!