Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lưu trữ tin nhắn trò chuyện bên trong bảng MySql

Bạn cần một lược đồ db tốt hơn - quan hệ hơn. Làm như vậy cũng sẽ mang lại cho bạn một số cải tiến khác (trò chuyện được bảo vệ bằng mật khẩu và trò chuyện nhiều người dùng để đặt tên cho một cặp vợ chồng)

Đây là một thao tác trên ERD cho db của bạn.

5/6/2016 chỉnh sửa Thêm DDL với (hy vọng) các loại trường và tên được cải thiện

CREATE TABLE user
(
    user_id CHAR(32),
    user_login VARCHAR(255),
    user_password CHAR(64),
    user_email VARCHAR(400),
    PRIMARY KEY (user_id)
);

CREATE TABLE message
(
    message_id CHAR(32),
    message_datetime DATETIME,
    message_text TEXT,
    message_chat_id CHAR(32),
    message_user_id CHAR(32),
    PRIMARY KEY (message_id)
);

CREATE TABLE user_chat
(
    user_chat_chat_id CHAR(32),
    user_chat_user_id CHAR(32),
    PRIMARY KEY (user_chat_chat_id,user_chat_user_id)
);

CREATE TABLE chat
(
    chat_id CHAR(32),
    chat_topic VARCHAR(32),
    chat_password CHAR(64),
    user_chat_user_id CHAR(32),
    PRIMARY KEY (chat_id)
);

CREATE INDEX user_login_idx ON user (user_login);
ALTER TABLE message ADD FOREIGN KEY message_chat_id_idxfk (message_chat_id) REFERENCES chat (chat_id);

ALTER TABLE message ADD FOREIGN KEY message_user_id_idxfk (message_user_id) REFERENCES user (user_id);

ALTER TABLE user_chat ADD FOREIGN KEY user_chat_user_id_idxfk (user_chat_user_id) REFERENCES user (user_id);

ALTER TABLE chat ADD FOREIGN KEY chat_id_idxfk (chat_id,user_chat_user_id) REFERENCES user_chat (user_chat_chat_id,user_chat_user_id);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Propel:chọn cột từ các bảng tham gia bí danh

  2. Laravel:Cách sử dụng nhiều mối quan hệ bảng tổng hợp

  3. Mysql utf32_unicode_ci và bộ mã html utf-8 đã được sử dụng, nhưng ký tự � xuất hiện

  4. python mysqldb xóa hàng

  5. Chèn một id cụ thể vào trường tăng dần tự động trong MySQL với Entity Framework 5