[
https://issues.apache.org/jira/browse/METAMODEL-131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14481597#comment-14481597
]
ASF GitHub Bot commented on METAMODEL-131:
------------------------------------------
Github user kaspersorensen commented on a diff in the pull request:
https://github.com/apache/metamodel/pull/14#discussion_r27818705
--- Diff:
core/src/main/java/org/apache/metamodel/create/AbstractTableCreationBuilder.java
---
@@ -123,9 +123,22 @@ public String toSql() {
&& !column.isNullable().booleanValue()) {
sb.append(" NOT NULL");
}
- if (column.isPrimaryKey()) {
- sb.append(" PRIMARY KEY");
- }
+ }
+ boolean primaryKeyExists = false;
+ for(int i = 0 ; i < columns.length ; i++) {
+ if(columns[i].isPrimaryKey()) {
+ if(!primaryKeyExists) {
+ sb.append(" , PRIMARY KEY(");
--- End diff --
The space in front of the comma is not needed. It's pretty minor I know,
but let's keep it tidy :-)
> Create table with composite primary key gives error.
> ----------------------------------------------------
>
> Key: METAMODEL-131
> URL: https://issues.apache.org/jira/browse/METAMODEL-131
> Project: Apache MetaModel
> Issue Type: Bug
> Reporter: Hosur Narahari
>
> Creating table with primary key is not possible since while generating sql we
> add "PRIMARY KEY" keyword to each column which results in error in case of
> composite primary keys. Below is the code.
> context.executeUpdate(new UpdateScript() {
>
> @Override
> public void run(UpdateCallback callback) {
> callback.createTable("amass", "test").
>
> withColumn("id").ofType(ColumnType.INTEGER).ofSize(16).asPrimaryKey()
>
> .withColumn("name").ofType(ColumnType.VARCHAR).ofSize(255).asPrimaryKey()
> .execute();
> }
> });
> I am using mysql. Am I using it in the wrong way?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)