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

Làm thế nào để lưu trữ một quan hệ một đến nhiều trong cơ sở dữ liệu MySQL?

Bạn tạo một bảng riêng cho các số điện thoại (tức là mối quan hệ 1:M).

create table `users` (
  `id` int unsigned not null auto_increment,
  `name` varchar(100) not null,
  primary key(`id`)
);

create table `phone_numbers` (
  `id` int unsigned not null auto_increment,
  `user_id` int unsigned not null,
  `phone_number` varchar(25) not null,
  index pn_user_index(`user_id`),
  foreign key (`user_id`) references users(`id`) on delete cascade,
  primary key(`id`)
);

Giờ đây, bạn có thể dễ dàng có được số điện thoại của người dùng chỉ với một thao tác tham gia đơn giản;

select
  pn.`phone_number`
from
  `users` as u,
  `phone_numbers` as pn
where
  u.`name`='John'
  and
  pn.`user_id`=u.`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. mysql chuyển đổi thời gian 12 giờ thành 24 giờ

  2. Truy vấn Mysql để chuyển đổi động các hàng thành cột trên cơ sở hai cột

  3. Tôi muốn thêm 30 ngày vào hàng ngày của mysql

  4. Tìm địa điểm gần nhất bằng cách sử dụng loại dữ liệu điểm và st_distance_sphere trong MySQL 8

  5. Tính toán MySQL Trung bình động?