Я не очень хорошо разбираюсь в создании таблиц MySQL.Ticketsystem: sql tables
Я хочу создать небольшую систему продажи билетов, где пользователь может применить следующую информацию:
- имя пользователя Ticket
- электронный билет
- Вопрос
После того, как это было отправлено, я хочу, чтобы информация хранилась в таблицу базы данных.
Теперь сторонник и пользователь должны иметь возможность добавить комментарии к этому билету.
Я пытался создать таблицы, но я немного волновался, если он будет работать так:
CREATE TABLE IF NOT EXISTS `Tickets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`email` varchar(50) NOT NULL,
`ticket_id` varchar(30) NOT NULL,
`ticket_question` varchar(255) NOT NULL,
`ticket_status` tinyint(1) NOT NULL DEFAULT '0',
`ticket_creation_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
PRIMARY KEY (`ticket_id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=203 ;
CREATE TABLE IF NOT EXISTS `Conversation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ticket_id` varchar(30) NOT NULL,
`ticket_comment` varchar(255) NOT NULL,
`ticket_latest_reply` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
PRIMARY KEY (`ticket_id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=203 ;
Может кто-нибудь взглянуть на это или исправить меня?
У вас должна быть другая таблица для каждого комментария. Что-то вроде «Conversation_Comment» –
Чтобы сохранить все комментарии, связанные с ticket_id? В случае «да» я планировал сохранить их в таблице «Разговор» – stackxquestion
Если вы имеете в виду, что ваша вторая таблица будет содержать много записей для каждой записи в «билетах», тогда это нормально для черновика (после этого вам понадобится больше таблиц). Но удалите уникальное ключевое имя пользователя из второй таблицы и добавьте в него информацию о пользователе. На самом деле вам может понадобиться целая новая пользовательская таблица, которая будет привязана к таблице билета и таблице комментариев \ бесед. – user15