попытался изменить имя поля в моей базе данных и получил ошибку - PullRequest
0 голосов
/ 05 декабря 2018

enter image description here

У меня есть база данных форума с двумя таблицами, сообщениями + темами, я попытался изменить имена полей с topic_id на photo_id, но получил

"неизвестный topic_id в списке полей

enter image description here

Вот моя вторая таблица

enter image description here

Я получаю эту ошибку из-за того, что внешний ключ появился во второй таблице?

и для записи я тоже работаю с кодом, так что

Изменение моего topic_id на photo_id будет означать, что мне придется изменить весь код для topic_id на photo_id на каждой странице, верно?

1 Ответ

0 голосов
/ 05 декабря 2018

Если вы пытаетесь изменить столбец идентификатора, вы должны изменить сначала таблицу основного столбца, а затем другую таблицу.

alter table database.yourMainTable
    change column topic_id photo_id int(11) not null auto_increment

Затем вам нужно удалить внешний ключ ограничения второй таблицы.Важно сделать это и изменить имя столбца.

ALTER TABLE database.yoursecondtable
  DROP FOREIGN KEY yourSecondTable,   -- if you don't know you can check it with you phpadmin.
  CHANGE COLUMN topic_id photo_id int(11) not null auto_increment --the type of both columns have to be same

И, наконец, добавить ограничение и ссылку на первую таблицу;)

ALTER TABLE database.yoursecondtable
  ADD CONSTRAINT fk_yourconstraintforeignkey
    FOREIGN KEY (newid) REFERENCES gimnasio.planes(idnew)
    ON DELETE CASCADE
        ON UPDATE CASCADE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...