SQL 错误#1064。使用默认值更改 table

SQL error #1064. Alter table with default values

我尝试 ALTER TABLE 添加一些具有默认值的列。为什么我会出现这个错误?

我试过:

column_name varchar(255) NOT NULL DEFAULT '0',

还有

column_name varchar(255) NOT NULL DEFAULT 0,

但两者都不起作用。

ALTER TABLE utenti
ADD
missileBalistico varchar(255) NOT NULL DEFAULT 1,
missileBalisticoPotenza varchar(255) NOT NULL DEFAULT 60,
...,
aiuti varchar(255) NOT NULL DEFAULT 0;

它给了我 31 个相同的错误:

Unrecognized alter operation. (near "," at position ...)

和MySQL说:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'varchar(255) NOT NULL DEFAULT 60,
basi varchar(255) NOT NULL DEFAULT 1,
vitaBa' at line 4

您需要使用几个 add 子句:

ALTER TABLE utenti
ADD missileBalistico varchar(255) NOT NULL DEFAULT 1,
ADD missileBalisticoPotenza varchar(255) NOT NULL DEFAULT 60,
-- Other add clauses...
ADD aiuti varchar(255) NOT NULL DEFAULT 0;

这可能是因为您在编码时使用“N”而不是 'N' 作为默认值。我建议您在编辑器上查看它。