phpMyAdmin видаляє первинний ключ для таблиці MySQL


0

Моя проблема полягає в наступному: я створюю таблицю в phpMyAdmin сервера WAMP, я завжди роблю перший стовпець як

name: id
type: int
index: primary
auto_increment: true

то я додаю інші стовпці, в основному нешкідливі int's або varchar' s. А іноді timestampі с DEFAULT = CURRENT_TIMESTAMP. Я зберігаю стіл без проблем.

Потім, коли я починаю використовувати цю таблицю у своїх скриптах для php, я додаю значення, не вказуючи значення для id, оскільки воно є auto_increment, так ось так:

$pdo->query("INSERT INTO mytable(harmless_int, harmless_varchar) VALUES ('42','marvin');");

і коли я йду перевіряти свою таблицю в phpMyAdmin, я бачу, що значення для idдорівнює 0. Далі натискаю "Структура", потім "Змінити" для стовпця id, і я бачу, що у нього більше немає auto_incrementвластивості. Тож я DROPтаблицю, знову створюю точно так само, потім вона працює.

Це сталося зі мною багато, мені завжди доводиться створювати одну і ту ж таблицю двічі. Так що я роблю неправильно?

Відповіді:


1

Я думаю, це зводиться до копії таблиці, яку ви зробили.

Я можу лише думати, що ти, можливо, робив щось подібне в минулому:

CREATE TABLE [new_table] SELECT * FROM [old_table]

Здається, що хоча він зберігає назви стовпців та дані, він не зберігає структуру та ключі.

Звідки я знаю? - Я щойно з’ясував важкий шлях.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.