我有以下 SQL 命令:
ALTER TABLE `personal_information` ADD `applicant_name` VARCHAR(50) NOT NULL AFTER `ID`, ADD `mothers_name` VARCHAR(50) NOT NULL AFTER `applicant_name`, ADD `date_of_birth` DATE NOT NULL AFTER `mothers_name`, ADD `Place_of_birth` VARCHAR(200) NOT NULL AFTER `date_of_birth`, ADD `marital_status` ENUM(0) NOT NULL AFTER `Place_of_birth`, ADD `sex` ENUM(0) NOT NULL AFTER `marital_status`, ADD `religion` ENUM(0) NOT NULL AFTER `sex`, ADD `profession_ar` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `religion`, ADD `profession` VARCHAR(50) NOT NULL AFTER ` profession_ar`;
这是一个新表。它只有 ID(主键)列。我对后端完全陌生。所以我对sql命令不太了解。我从 php 我的管理员预览 SQL btn 中得到了这个。这会产生错误。错误是:
ALTER TABLE `personal_information` ADD `applicant_name` VARCHAR(50) NOT NULL AFTER `ID`, ADD `mothers_name` VARCHAR(50) NOT NULL AFTER `applicant_name`, ADD `date_of_birth` DATE NOT NULL AFTER `mothers_name`, ADD `Place_of_birth` VARCHAR(200) NOT NULL AFTER `date_of_birth`, ADD `marital_status` ENUM(0) NOT NULL AFTER `Place_of_birth`, ADD `sex` ENUM(0) NOT NULL AFTER `marital_status`, ADD `religion` ENUM(0) NOT NULL AFTER `sex`, ADD `profession_ar` VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL AFTER `religion`, ADD `profession` VARCHAR(50) NOT NULL AFTER ` profession_ar`
MySQL 说:文档
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '0) 附近使用的正确语法 Place_of_birth
、ADD sex
ENUM(0) NOT NULL AFTER `marital_st ' 在第 1 行
我使用的是wamp,我的sql版本是5.7.14。我能做什么?
编辑:
所有答案都不适合我。因为,我的 phpmyadmin 版本是 4.6.4,不支持最新的 mysql Enum 语法。但我的mysql服务器版本是5.7.14。所以 mysql 5.7.14 不支持旧的 Enum 语法(可能受支持,我不确定,但 MySQL 5.7.14 和 phpmyadmin 4.6.4 一起造成了一些问题)。所以我将 phpmyadmin 更新到版本 4.6.5.2,一切都工作完美。
谢谢大家给我答案。一旦我获得 15 个声望,我就会投较高的票。
最佳答案
您应该说明 ENUM 的选项,例如:
...
ADD marital_status
ENUM('single','married') NOT NULL AFTER Place_of_birth
,
...
关于php - mysql 在创建列并将列添加到表时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41328409/