Я создаю приложение CRUD в PHP & MySql. Он использует две таблицы, называемые пользователи и medical_records:Почему первичный ключ дубликат
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`username` varchar(255) NOT NULL,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(1024) NOT NULL,
`validation_code` text NOT NULL,
`active` tinyint(1) NOT NULL,
`telefon` varchar(255) DEFAULT NULL,
`oras` varchar(255) DEFAULT NULL,
`adresa` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE medical_records (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`fo` VARCHAR(255),
`condition` VARCHAR(255),
`transfer` VARCHAR(255),
`memo` text(1024),
`body_temperature` VARCHAR(255),
PRIMARY KEY (`id`),
CONSTRAINT FK_medical_records_1
FOREIGN KEY (user_id) REFERENCES users(id)
ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
«бизнес-логика» этих таблиц: каждый пользователь имеет один (только один) медицинскую карту.
Я использовал и протестировал приложение, когда у него были только пользователей стол. Регистрация и логин работал отлично, поэтому я пришел к выводу, что источник проблемы не может быть кодом приложения (PHP).
позже я легированная таблицу пользователи и добавил 2 свежих таблицу приложение теперь использует (пользователей и medical_records).
В этот момент, когда я пытаюсь зарегистрировать второй пользователь, я получаю ошибку:
QUERY FAILED: Duplicate entry '0' for key 'PRIMARY'
Это происходит, несмотря на то, что обе таблицы имеет автоматически увеличивается первичные ключи. Что может быть объяснением этого?
Вы говорите, что обе таблицы имеют автоматически увеличивающиеся первичные ключи, но я не вижу автоматического увеличения в вашей таблице 'users'. – treegarden
Если эта проблема сохраняется после исправления проблемы автоматического увеличения в первой таблице, пожалуйста, отредактируйте свой вопрос, чтобы показать последовательность запросов, используемых для регистрации новых пользователей. –
С меткой 'jQuery', да? – urbz