MariaDB / mariadb-docker

Docker Official Image packaging for MariaDB
https://mariadb.org
GNU General Public License v2.0
751 stars 436 forks source link

Fields with names 'uuid' or '..._uuid' cannot be deleted #568

Closed OleksandrConstell closed 4 months ago

OleksandrConstell commented 4 months ago

Hi everyone,

I met an interesting bug. Not sure if is it related fully to the docker image. Somehow I figured out that if create a field with the name 'uuid' or '..._uuid' then it is not possible to remove it. uuid - immediately after creation p_uuid - after second iteration ( create -> select -> remove -> create-> remove -> error "[42000][1072] (conn=8536) Key column 'p_uuid' doesn't exist in table").

But an interesting fact - All those are visible from "SHOW COLUMNS FROM table_name;"

Tried to google, but didn't find any information. Please take a look.

https://github.com/MariaDB/mariadb-docker/assets/159888405/754c9866-7d66-4477-a8af-539ca30feb25

OleksandrConstell commented 4 months ago

I found a solution https://stackoverflow.com/questions/66946796/not-able-to-drop-field-in-mariadb-table It is not an issue with naming, it is an issue with indexes.

I have solved it by first deleting the unique key ALTER TABLE my_transitions DROP INDEX unique_stage_combination;

It seems like it is not possible to delete a column if it is a part of index key in Maria DB 10.5.8.

This ticker can be closed.