sql - 无法更改 Java Derby 数据库中现有表中的列

标签 sql database jdbc derby

我正在尝试通过更改表中的一列来更改我的表。但是,我在执行以下 sql 命令时遇到错误 -

ALTER TABLE WALLETUSER MODIFY WALLETUSERNAME VARCHAR NOT NULL;

我收到的错误是 -

错误代码 -1,SQL 状态 42X01:语法错误:在第 1 行第 24 列遇到“MODIFY”。

非常感谢任何帮助。

最佳答案

试试这个:

ALTER TABLE WALLETUSER ALTER COLUMN WALLETUSERNAME NOT NULL;

完整语法指南:

ALTER TABLE table-Name
{
    ADD COLUMN column-definition |
    ADD CONSTRAINT clause |
    DROP [ COLUMN ] column-name [ CASCADE | RESTRICT ]
    DROP { PRIMARY KEY | FOREIGN KEY constraint-name | UNIQUE constraint-name | CHECK constraint-name | CONSTRAINT constraint-name }
    ALTER [ COLUMN ] column-alteration |
    LOCKSIZE { ROW | TABLE }
}

列定义

Simple-column-Name [ DataType ]
[ Column-level-constraint ]*
[ [ WITH ] DEFAULT DefaultConstantExpression | generation-clause ]

来源:

关于sql - 无法更改 Java Derby 数据库中现有表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13506777/

相关文章:

java - SQL 类型说明符

mysql - 存储过程中动态游标的性能

mysql - 不同 SQL 平台中的 ALL 子句

SQL SELECT * FROM OPENROWSET 带变量

database - 哪种内置 Postgres 复制最适合我基于 Django 的用例?

database - GUID 与 INT 标识

mysql - 真正流式传输大型 MySQL 结果集

java.sql.SQLRecoverableException : Connection has been administratively disabled by console/admin command 错误

php - MySQL时间重叠

jdbc - Class.forName(Driver.class)