Я пишу простой веб-сервис для входа пользователя и сталкиваюсь с проблемой при выборе данных из представления, созданного в phpmyadmin.
SQLs
Это мои таблицы (не каждый столбец, а важные).
таблица счетов
CREATE TABLE generel.account (
id INT NOT NULL auto_increment ,
username VARCHAR(15) NOT NULL ,
mail VARCHAR(30) NOT NULL ,
password VARCHAR(20) NOT NULL ,
...
PRIMARY KEY (user_id),
UNIQUE username (username),
UNIQUE `mail` (mail)
);
таблица пользовательских статусов
CREATE TABLE game.userstatus (
user_id INT NOT NULL ,
is_logged_in BOOLEAN NOT NULL ,
...
PRIMARY KEY `ip` (`last_known_ip`)
);
с внешним ключом
ALTER TABLE userstatus
ADD CONSTRAINT fk_generel.account.id
FOREIGN key (user_id)
REFERENCES generel.account(user_id)
ON DELETE CASCADE
ON UPDATE CASCADE;
Пожалуйста, обратите внимание, что библиотеки sql отличаются (genrel и game).
Это представление, с которым я хочу работать:
CREATE VIEW game.gameuser_view AS
SELECT
acc.id AS user_id ,
acc.username ,
acc.password ,
acc.mail ,
usrsts.is_logged_in
...
FROM
generel.account AS acc
INNER JOIN
game.userstatus AS usrsts
ON acc.id = usrsts.user_id
Ожидаемое поведение
При выборе в представлении данных результат должен быть не пустым, а зависеть от условия where.
При вставке в представление данные должны перенаправляться в обе таблицы, а также выбираться из представления.
Проблемы
- не может выбрать из вида
- можно вставить в поле зрения, но все равно не выбрать
- данные будут перенаправлены в таблицу счетов, но не в таблицу пользовательских статусов
Как я уже упоминал, я пишу веб-сервис для входа в систему, и там также сохраняются те же проблемы. (Я не проверял вставку, потому что регистрация произошла где-то еще.)