php - mysql 在创建列并将列添加到表时出现错误

标签 php mysql database syntax

我有以下 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/

相关文章:

php - PHP和MYSQL游戏计时器比较

javascript - 使用 AngularJS 从 JSON 数据库中获取数据并将其显示到文本框

mysql - 将sql数据从mysql服务器导出到本地mac计算机帮助中的csv文件,

php - 插入如何进行多对多查询 "OR"两个表

MySQL Workbench 自动增量禁用

PHP服务器统计脚本?

php - 通过 <img> 或 <a> 标签加载可执行代码?

database - Oracle 表空间分配/使用性能影响

php - 使用动态表重构 EAV 建模数据

SQL 执行计划高成本 70%