我正在尝试将多个列添加到phpMyAdmin中的现有表中,但我一直收到同样的错误:
#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法...
我在写:
ALTER TABLE `WeatherCenter`
ADD COLUMN
BarometricPressure SMALLINT NOT NULL,
CloudType VARCHAR(70) NOT NULL,
WhenLikelyToRain VARCHAR(30) NOT NULL;
我已经参考了StackOverflow上的过去帖子,我正在听取专家的建议,为什么我会收到错误?
答案 0 :(得分:31)
ALTER TABLE table_name
ADD COLUMN column_name datatype
正确的语法
ALTER TABLE `WeatherCenter`
ADD COLUMN BarometricPressure SMALLINT NOT NULL,
ADD COLUMN CloudType VARCHAR(70) NOT NULL,
ADD COLUMN WhenLikelyToRain VARCHAR(30) NOT NULL;
检查syntax
答案 1 :(得分:8)
您需要指定多个ADD COLUMN
ALTER TABLE `WeatherCenter`
ADD COLUMN BarometricPressure SMALLINT NOT NULL,
ADD COLUMN CloudType VARCHAR(70) NOT NULL,
ADD COLUMN WhenLikelyToRain VARCHAR(30) NOT NULL;
答案 2 :(得分:2)
您可以通过这样做来更改表并在一个语句中添加多个列。
alter table WeatherCenter add column (BarometricPressure SMALLINT NOT NULL, CloudType VARCHAR(70) NOT NULL, WhenLikelyToRain VARCHAR(30) NOT NULL);
答案 3 :(得分:1)
这将帮助您:
alter table A add first_name varchar(10),last_name varchar(10);
答案 4 :(得分:0)
当您在现有表格中添加列时,我并不认为您要在声明中声明NOT NULL。此外,您不需要使用 ADD COLUMN ,您只需使用 ADD 。
ALTER TABLE WeatherCentre
ADD BarometricPressure SMALLINT,
ADD CloudType VARCHAR(70),
ADD WhenLikelyToRain VARCHAR(30);
答案 5 :(得分:0)
这是Official MySQL Documentation
ALTER TABLE tbl_name
[alter_specification [, alter_specification] ...]
[partition_options]
alter_specification:
table_options
| ADD [COLUMN] col_name column_definition
[FIRST | AFTER col_name]
| ADD [COLUMN] (col_name column_definition,...)
可能重复
答案 6 :(得分:0)
更改表table_name添加(产品varchar(20)不为null,价格为int(10))
这也很好