2016-11-09 4 views
2

Нам нужно изменить тип данных нескольких таблиц, на которые ссылается внешний ключ в MySQL.Изменить тип данных, на который ссылается внешний ключ в mysql

Поясню на примере, Рассмотрим НАЗНАЧЕНИЯ представляет собой таблицу с колонкой APPOINTMENT_ID и я ищу, чтобы изменить тип данных APPOINTMENT_ID от Decimal удвоится и другое требование, чтобы изменить столбцы, имеющие ПЕРВИЧНЫЙ КЛЮЧ должен иметь AUTO_INCREMENT.

Как мы это сделаем без моего дизайна базы данных.

+0

Почему вы хотите, чтобы иметь число с плавающей запятой в качестве иностранного (и подразумевая, что вы используете номер с плавающей запятой в качестве первичного ключа где-нибудь)? – Shadow

+0

Я думаю, вам нужно показать нам инструкцию 'CREATE TABLE' для' НАЗНАЧЕНИЙ'. Здесь существует проблема с возможной потерей данных, поэтому нам нужны ширина столбцов и точность. –

+0

Это уже было определено ранее, когда мы переносим эту базу данных из Oracle в MySQL, поэтому мы не можем просить их изменить свою бизнес-логику. –

ответ

0

Попробуйте

ALTER TABLE t1 CHANGE <column_name> <column_name> <type> 
    note: you have to write column name twice OR 
ALTER TABLE t1 MODIFY <column_name> <type> ; 

Как ALTER TABLE APPOINTMENTS CHANGE APPOINTMENT_ID APPOINTMENT_ID Double

Но его не хороший подход, который вы делаете double тип данных для первичного ключа

+0

Мне нужно изменить столбец от десятичного до двойного, и это еще одно требование для другой таблицы ПЕРВИЧНЫЙ КЛЮЧ должен иметь «AUTO_INCREMENT» –

Смежные вопросы