Mysql
 sql >> база данни >  >> RDS >> Mysql

Какво означава грешка в mysql 1025 (HY000):Грешка при преименуване на './foo' (errorno:150)?

Обикновено получавате тази грешка, ако вашите таблици използват двигателя InnoDB. В този случай ще трябва да пуснете външния ключ и след това да направите таблицата за промяна и да пуснете колоната.

Но трудната част е, че не можете да пуснете външния ключ, като използвате името на колоната, а вместо това ще трябва да намерите името, използвано за индексирането му. За да го намерите, изберете следното:

ПОКАЖЕТЕ региона СЪЗДАВАНЕ НА ТАБЛИЦА;

Това трябва да ви покаже името на индекса, нещо като това:

ОГРАНИЧЕНИЕ region_ibfk_1 FOREIGNKEY (country_id ) РЕФЕРЕНЦИИcountry (id ) ПРИ ИЗТРИВАНЕ БЕЗ ДЕЙСТВИЕ ПРИ АКТУАЛИЗИРАНЕ НЯМА ДЕЙСТВИЕ

Сега просто издайте:

променете региона на таблицата пуснете външен ключregion_ibfk_1;

И накрая:

промяна на региона на таблицата пускане columncountry_id;

И вие сте готови!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:множество таблици или една таблица с много колони?

  2. как да получите достъп до командния ред за xampp на Windows

  3. MySQL - Направете съществуващо поле уникално

  4. Преглед и качване на изображения с помощта на база данни PHP и MySQL

  5. Как мога да използвам MySQL оператор за присвояване (:=) в собствена заявка за хибернация?