Php 如何在sql plus中设置alter table add列

Php 如何在sql plus中设置alter table add列,php,sql,Php,Sql,例如,如何使用如下条件设置ALTERTABLEADD列。 添加员工的兴趣爱好信息;一名员工拥有一个或多个业余爱好,而一个业余爱好由零名或多名员工拥有 如何设置ALTERTABLE来添加具有这种条件的列?很抱歉,我对sql查询条件还是新手。为了您的解释,我做了以下操作: 你必须创建3个表,这是一个多对多的关系,即一个员工有几个爱好,爱好可以是不同的员工。员工表,其他爱好和其他外键与其他两个 CREATE TABLE `employees` ( `id_employees` INT NOT NU

例如,如何使用如下条件设置ALTERTABLEADD列。 添加员工的兴趣爱好信息;一名员工拥有一个或多个业余爱好,而一个业余爱好由零名或多名员工拥有


如何设置ALTERTABLE来添加具有这种条件的列?很抱歉,我对sql查询条件还是新手。

为了您的解释,我做了以下操作: 你必须创建3个表,这是一个多对多的关系,即一个员工有几个爱好,爱好可以是不同的员工。员工表,其他爱好和其他外键与其他两个

CREATE TABLE `employees` (
  `id_employees` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NULL,
  PRIMARY KEY (`id_employees`));

CREATE TABLE `hobbies` (
  `id_hobbies` INT NOT NULL AUTO_INCREMENT,
  `name` INT NULL,
  PRIMARY KEY (`id_hobbies`));

CREATE TABLE `employees_hobbies` (
  `id_employees_hobbies` INT NOT NULL AUTO_INCREMENT,
  `id_employees` INT NOT NULL,
  `id_hobbies` INT NOT NULL,
  PRIMARY KEY (`id_employees_hobbies`),
  INDEX `fk_employees_hobbies_1_idx` (`id_employees` ASC),
  INDEX `fk_employees_hobbies_2_idx` (`id_hobbies` ASC),
  CONSTRAINT `fk_employees_hobbies_1`
    FOREIGN KEY (`id_employees`)
    REFERENCES `employees` (`id_employees`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_employees_hobbies_2`
    FOREIGN KEY (`id_hobbies`)
    REFERENCES `hobbies` (`id_hobbies`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
如果您已经有了表并希望更改它们

ALTER TABLE employees_hobbies ADD id_employees  INT NOT NULL;
ALTER TABLE employees_hobbies ADD id_hobbies  INT NOT NULL;
ALTER TABLE employees_hobbies ADD CONSTRAINT `fk_employees_hobbies_1`
        FOREIGN KEY (`id_employees`)
        REFERENCES `employees` (`id_employees`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION;
ALTER TABLE employees_hobbies ADD CONSTRAINT `fk_employees_hobbies_2`
        FOREIGN KEY (`id_hobbies`)
        REFERENCES `hobbies` (`id_hobbies`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION);
您可以使用
modify
修改现有列,而不是
ADD
。 检查下面的来源


Font:

一般来说,一个人会有一个包含
(员工id、业余id)
。你想让用户向表中添加列吗?那太危险了!我建议创建一个额外的表来保存将成为该列的行。这意味着它无法完成?感谢Lucas的解释。但是如何使用Alter_Table语句来实现呢?