Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi ulasan video?
Di tapak web video, pengguna boleh menonton video dan meninggalkan komen. Kadangkala, kami perlu menyimpan sejumlah besar data ulasan dan dapat membuat pertanyaan serta memaparkan ulasan ini dengan cekap. Mereka bentuk struktur jadual MySQL yang cekap adalah langkah penting dalam memastikan kefungsian yang betul. Artikel ini akan memperkenalkan cara mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi ulasan video dan memberikan contoh kod terperinci.
Pertama, kita perlu mencipta dua jadual, satu untuk menyimpan maklumat video dan satu lagi untuk menyimpan maklumat ulasan. Kami akan menggunakan pernyataan SQL berikut untuk mencipta dua jadual ini:
CREATE TABLE videos ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, description TEXT, url VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE comments ( id INT AUTO_INCREMENT PRIMARY KEY, video_id INT NOT NULL, user_id INT NOT NULL, comment TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (video_id) REFERENCES videos(id), FOREIGN KEY (user_id) REFERENCES users(id) );
Dalam kod di atas, kami mencipta jadual bernama video
untuk menyimpan maklumat video. Jadual mengandungi medan berikut: videos
的表,用于存储视频信息。该表包含以下字段:
id
: 视频的唯一标识符,自动递增title
: 视频的标题,最大长度为255个字符description
: 视频的描述信息,使用TEXT
类型存储url
: 视频的URL地址,最大长度为255个字符created_at
: 视频创建的时间戳,默认为当前时间同时,我们还创建了一个名为comments
的表,用于存储评论信息。该表包含以下字段:
id
: 评论的唯一标识符,自动递增video_id
: 评论所属的视频的IDuser_id
: 发表该评论的用户的IDcomment
: 评论的内容,使用TEXT
类型存储created_at
: 评论创建的时间戳,默认为当前时间在上述代码中,我们还定义了外键约束,确保comments
表中的video_id
和user_id
字段与videos
表和users
表中的对应字段保持一致。
接下来,我们可以通过以下的代码示例展示如何向这两个表中插入数据:
<?php // 连接到数据库 $conn = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败:" . $conn->connect_error); } // 插入视频记录 $sql = "INSERT INTO videos (title, description, url) VALUES ('视频标题', '视频描述', 'http://example.com/video')"; $conn->query($sql); // 获取刚插入的视频的ID $videoId = $conn->insert_id; // 插入评论记录 $sql = "INSERT INTO comments (video_id, user_id, comment) VALUES ($videoId, 1, '这是一个好视频')"; $conn->query($sql); // 断开数据库连接 $conn->close(); ?>
上述代码示例展示了如何向videos
表中插入一条视频记录,并获取刚插入视频的ID。然后,我们可以将该视频的ID作为参数,插入一条评论记录到comments
id
: Pengecam unik video, ditambah secara automatiktajuk
: Tajuk daripada video, Panjang maksimum ialah 255 aksarahuraian
: Maklumat penerangan video disimpan menggunakan jenis TEXT
url
: Alamat URL video, panjang maksimum ialah 255 aksaracreated_at
: Cap masa penciptaan video, lalai ialah masa semasakomen
untuk menyimpan maklumat ulasan. Jadual mengandungi medan berikut: id
: Pengecam unik ulasan, ditambah secara automatikvideo_id
: Video yang mana komen itu milik IDuser_id
: ID pengguna yang menyiarkan ulasanulasan
: Kandungan ulasan, gunakan TEKS
Taip storancreated_at
: Cap masa penciptaan ulasan, lalai ialah masa semasavideo_id
dan user_id
dalam jadual comments
adalah konsisten dengan video
jadual dan users
Medan yang sepadan dalam jadual kekal konsisten. Seterusnya, kita boleh menunjukkan cara memasukkan data ke dalam kedua-dua jadual ini melalui contoh kod berikut: <?php // 连接到数据库 $conn = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败:" . $conn->connect_error); } // 获取指定视频的评论列表 $videoId = 1; $sql = "SELECT * FROM comments WHERE video_id = $videoId"; $result = $conn->query($sql); // 显示评论列表 if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "用户ID: " . $row["user_id"] . ", 评论内容: " . $row["comment"] . "<br>"; } } else { echo "暂无评论"; } // 断开数据库连接 $conn->close(); ?>
video
dan dapatkan Just inserted ID video. Kemudian, kita boleh memasukkan rekod ulasan ke dalam jadual ulasan
menggunakan ID video sebagai parameter. 🎜🎜Selepas mereka bentuk struktur jadual dan mempelajari cara memasukkan data, kami juga perlu memahami cara membuat pertanyaan dan memaparkan ulasan dengan cekap. Contoh kod berikut menunjukkan cara untuk menanyakan senarai ulasan video tertentu: 🎜rrreee🎜Dalam contoh kod di atas, kami menanyakan senarai ulasan ID video yang ditentukan dan memaparkan ID pengguna dan kandungan ulasan setiap ulasan dengan menggelungkannya . 🎜🎜Ringkasnya, mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi ulasan video memerlukan mengambil kira faktor seperti perhubungan jadual, jenis medan dan kekangan kunci asing. Melalui reka bentuk dan pengoptimuman yang munasabah, kami boleh menyimpan dan menanyakan sejumlah besar data semakan dengan cekap. 🎜Atas ialah kandungan terperinci Bagaimana untuk mereka bentuk struktur jadual MySQL yang cekap untuk melaksanakan fungsi komen video?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!