Próbuję zmienić istniejącą kolumnę w tabeli Muszę zezwolić na wartości puste, a następnie ustawić wartość domyślną na wartość null. Próbowałem uruchomić następujące czynności, ale nie wydaje się, aby zaktualizować tabelę:ALTER TABLE nie pozwala ustawić wartości NULL lub domyślnej?
mysql> ALTER TABLE answers_form MODIFY sub_id int unsigned NULL DEFAULT NULL;
Query OK, 0 rows affected (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc answers_form;
+--------------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+-------+
| answer_id | int(10) unsigned | NO | PRI | 0 | |
| sub_id | int(10) unsigned | NO | PRI | 0 | |
| form_id | int(10) unsigned | NO | PRI | NULL | |
| value | varchar(255) | NO | | NULL | |
| non_response | bit(1) | YES | | b'0' | |
+--------------+------------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
Czy ktoś może zobaczyć, co robię źle tutaj?
Czy to możliwe, że nie można ustawić tej kolumny jako wartości zerowej, ponieważ jest ona częścią klucza podstawowego? –