gpt4 book ai didi

php - 消息系统流入数据库

转载 作者:行者123 更新时间:2023-11-29 06:32:13 26 4
gpt4 key购买 nike

简单或个人类型的消息:

我试着按照这里的其他答案,但无法理解它们是如何真正保存到数据库中的 enter image description here

发件人:
发送消息并保存/标记在“已发送”消息

接收者:
接收消息并标记为“收件箱”消息

我的问题: 当我尝试发送消息并将字段“占位符”更新为“已发送”时,收件人在他的“收件箱”中看不到它,因为它是已设置为“已发送”。

顺便说一句,Placeholder 就像消息状态(收件箱、已发送、垃圾箱),我为我的连接表(收件箱、已发送和垃圾箱)创建了 3 个以选项卡形式显示的自定义 View

问题:

  1. 我是否必须在每次发送消息时插入 2 条记录? (已发送和收件箱)
  2. 如果我只需要一条简单/个人消息,那么这是最好的数据库模式吗?

最佳答案

  1. 我是否必须在每次发送消息时插入 2 条记录? (已发送和收件箱)

没有,只有一次。

  1. 如果我只需要一条简单/个人消息,那么这是最好的数据库模式吗?

我建议保持简单。请注意,“Sent_two”显然应该是“sent_to”。这将完成您需要的一切,但占位符部分可能除外,我目前不理解您的意图。

enter image description here

-- MySQL Script generated by MySQL Workbench
-- 11/30/14 09:07:59
-- Model: New Model Version: 1.0
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `mydb` ;

-- -----------------------------------------------------
-- Table `mydb`.`Users`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Users` (
`idUsers` INT NOT NULL,
`firstname` VARCHAR(45) NULL,
`lastname` VARCHAR(45) NULL,
`username` VARCHAR(45) NULL,
PRIMARY KEY (`idUsers`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`messages`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`messages` (
`idmessages` INT NOT NULL,
`Subject` VARCHAR(45) NULL,
`Body` TEXT NULL,
`Date` DATETIME NULL,
`sent_from` INT NOT NULL,
`sent_two` INT NOT NULL,
PRIMARY KEY (`idmessages`),
INDEX `fk_messages_Users_idx` (`sent_from` ASC),
INDEX `fk_messages_Users1_idx` (`sent_two` ASC),
CONSTRAINT `fk_messages_Users`
FOREIGN KEY (`sent_from`)
REFERENCES `mydb`.`Users` (`idUsers`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_messages_Users1`
FOREIGN KEY (`sent_two`)
REFERENCES `mydb`.`Users` (`idUsers`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

关于php - 消息系统流入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com