我正在尝试更改SQL中的列数据类型,但它让我错过了关键字错误。我已经看过如何在几个地方更改一个列,他们都给了我这个查询:
我正在使用它:
ALTER TABLE CARD
MODIFY COLUMN Charged NUMBER(4,2);
答案 0 :(得分:2)
COLUMN关键字是多余的 - 这应该有效:
ALTER TABLE Card MODIFY Charged NUMBER(4,2)
有趣的是,标准SQL不支持MODIFY(在我去检查SQL Syntax之前我不知道)。根据SQL标准(ISO / IEC 9079-2:2003),您可以写:
<alter column definition>
(p572)更改列及其定义。
<alter column definition> ::= ALTER [ COLUMN ] <column name> <alter column action>
<alter column action> ::=
<set column default clause>
| <drop column default clause>
| <add column scope clause>
| <drop column scope clause>
| <alter identity column specification>
(在SQL 2003中,MODIFY
不是SQL关键字)。在此公式中,允许使用关键字COLUMN
,但这是可选的。与“真正的”DBMS不同,它似乎也不允许更改列的类型。
答案 1 :(得分:0)
您缺少括号,应省略COLUMN
一词:
ALTER TABLE CARD MODIFY ( Charged NUMBER(4,2));
有关如何修改列的示例,请参阅this documentation。
答案 2 :(得分:0)
不要将“column”用作关键字:
ALTER TABLE card
MODIFY charged NUMBER(4,2);