Jadual Kandungan
回复内容:
Rumah pembangunan bahagian belakang tutorial php 求mysql语句(insert之前先查询)

求mysql语句(insert之前先查询)

Jun 06, 2016 pm 08:15 PM
php sql

数据表如下:

<code>id    parent    a      b    others
---------------------------------------
1        0      7      8
---------------------------------------
2        1      8      7
---------------------------------------
3        1      7      8
---------------------------------------
4        1      8      7
---------------------------------------</code>
Salin selepas log masuk
Salin selepas log masuk

比如:现在已知a=7、b=8,但不知道parent的值,插入之前要查询数据表中已存在a=7 && b=8的,或者a=8 && b=7的那条记录的parent的值(保证数据表中满足a=7 && b=8,或者a=8 && b=7的那些记录的parent都是同一个值)。
请问如何写sql?先select后insert?一条语句能搞定么

回复内容:

数据表如下:

<code>id    parent    a      b    others
---------------------------------------
1        0      7      8
---------------------------------------
2        1      8      7
---------------------------------------
3        1      7      8
---------------------------------------
4        1      8      7
---------------------------------------</code>
Salin selepas log masuk
Salin selepas log masuk

比如:现在已知a=7、b=8,但不知道parent的值,插入之前要查询数据表中已存在a=7 && b=8的,或者a=8 && b=7的那条记录的parent的值(保证数据表中满足a=7 && b=8,或者a=8 && b=7的那些记录的parent都是同一个值)。
请问如何写sql?先select后insert?一条语句能搞定么

@Eapen 参考我对你的回答的评论。
@xaero 我觉得你的问题把我们都带偏了。
对于消息的首发来说是不存在parent这个属性的,因为消息是按照时间顺序排列的。只有论坛的帖子回复才有parent的问题,这个parent可以在前台显示的时候使用,可以把相关的讨论集中起来便于阅读,因为这种结构打破了发帖时间的规律,所以才需要额外的指定parent。
明显消息不存在这个问题,就算你的消息是针对某个话题产生的,那也应该是reference_id而不是parent。

你们觉得呢?

我理解你的意思了。这可以通过另一个表去维护。
table message_groups
group_id users
1 7,8 //信息交流者,按照用户id从小到大排列,用逗号分隔
2 7,9
...
table messages
group_id from_user to_user message time
1 7 8 Test1 ....
1 8 7 Re: Test1 ....

这样你觉得有帮助吗?

<code>IF EXISTS (SELECT * FROM Table_Name WHERE (a='7' and b='8') OR (a='8' and b='7'))
BEGIN
    --EXIST
END
ELSE
BEGIN
    INSERT INTO Table_Name(Column,...) VALUES('')
END</code>
Salin selepas log masuk

有点没懂 为什么不知道parent的值?在读取列表的时候就应该知道id的值了呀写入的时候直接带上就行

oschina的私信功能就是这样的,明明是已经存在的一对用户会话,我不“回复”,点“新发送”,也会归纳为原先的会话。。。不知道是怎么实现的。。。。oschina上都是无关痛痒的聊天,没人答

你可以写存储过程的,可以完美解决你的问题。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pembalakan CakePHP Pembalakan CakePHP Sep 10, 2024 pm 05:26 PM

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

See all articles