Приветствую.
Имеется сайт, который выводит записи пользователей вида «id, name, goods, note, date, user».
Каждому пользователю показываются свои записи (т.е. запрос такого вида “select * where user = пользователь")
Необходимо сделать так, чтобы у каждого пользователя id записей был свой, а не общий. Например 1, предмет, null, 14.03.2018, admin ; 1, предмет, null, 14.03.2018, ne_admin ; 2, предмет2, null, 15.03.2018, admin; и т.д. Надеюсь понятно.
Как посоветуете сделать, каждому пользователю создать свою таблицу, чтобы id не путались или можно сделать все в одной таблице? Только как это сделать?
Можно сделать и в одной таблице, для этого нужно будет убрать auto_increment с поля id а при добавлении записей в таблицу считать его отдельным запросом типа
SELECT MAX(id) FROM tbl WHERE user = пользователь
Ну и primary key сделать составным на поля id, user
Необходимо сделать так, чтобы у каждого пользователя id записей был свой, а не общий.
Задача легко решается, если будет сочтено возможным использовать в качестве движка таблицы MyISAM. См. https://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html
For MyISAM tables, you can specify AUTO_INCREMENT on a secondary column in a multiple-column index. In this case, the generated value for the AUTO_INCREMENT column is calculated as MAX(auto_increment_column) + 1 WHERE prefix=given-prefix.
Т.е. в данном конкретном случае, например, так:
CREATE TABLE records (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(xxx),
goods VARCHAR(yyy),
note VARCHAR(zzz),
date TIMESTAMP,
userID INT UNSIGNED NOT NULL,
PRIMARY KEY (userID, id),
CONSTRAINT userID FOREIGN KEY (userID) REFERENCES users (id)
) ENGINE MyISAM;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Использую библиотеку OmniPay для платежной системы Stripe
У меня есть примитивное консольное приложение c++, мне нужно сделать так, чтобы был отдельный конфигурационный файл в котором будут храниться...