自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL字符串處理之一個(gè)字段包含多個(gè)ID的解決

數(shù)據(jù)庫(kù) MySQL
在我們使用MySQL數(shù)據(jù)庫(kù)的過(guò)程中,有時(shí)會(huì)遇到一個(gè)表中存著一個(gè)字段包含多個(gè)Id的情況,下文對(duì)該問(wèn)題提出了詳細(xì)的解決方法,供您參考。

如果在MySQL中一個(gè)表中存著一個(gè)字段包含多個(gè)Id,應(yīng)該如何處理呢,下面就為您介紹這種MySQL字符串問(wèn)題的處理方法,希望對(duì)您學(xué)習(xí)MySQL字符串方面能有所幫助。

1、新建表

  1. drop table if exists Category;  
  2. create table Category  
  3. (  
  4.     cateId                         int(5)                         not null AUTO_INCREMENT,  
  5.     chiName                        varchar(80),  
  6.    primary key (cateId)  
  7. );  
  8.  
  9. drop table if exists OpenRecord;  
  10. create table OpenRecord  
  11. (  
  12.     opreId                         int(5)                         not null AUTO_INCREMENT,  
  13.     cateIds                        varchar(80),  
  14.    primary key (opreId)                      
  15. );  

2、初始化數(shù)據(jù)

  1. insert Category(chiName) values ('fish'),('shrimp'),('crab'),('tiger');  
  2.  
  3. insert OpenRecord(cateIds) values('1,2');  
  4. insert OpenRecord(cateIds) values('2,3');  

3、查詢OpenRecord中Id為1包括的Category。

#錯(cuò)誤的方法

  1. select *   
  2.     from Category  
  3.     where (select INSTR(cateIds,cateId) from OpenRecord where opreId=1

#正確的方法

  1. select *   
  2.     from Category  
  3.     where (select FIND_IN_SET(cateId,cateIds) from OpenRecord where opreId=1

用INSTR會(huì)出現(xiàn)當(dāng)ID大于10的時(shí)候,查ID為1的數(shù)據(jù),會(huì)把1,10,11,12......的都拿出來(lái)。

4、擴(kuò)展會(huì)出現(xiàn)的問(wèn)題。
用FIND_IN_SET可以解決ID是用","號(hào)隔開(kāi)的問(wèn)題。然而會(huì)有另外的兩種情況。

A、當(dāng)ID不包含",",但是用別的符號(hào)分開(kāi)時(shí),如用"|"。我們有如下的解決辦法

  1. select *   
  2.     from Category  
  3.     where (select FIND_IN_SET(cateId,REPLACE(cateIds,'|',',')) from OpenRecord where opreId=1)  

以上就是該MySQL字符串問(wèn)題的處理方法。

 

 

【編輯推薦】

帶參數(shù)的MySql存儲(chǔ)過(guò)程

查看三種MySQL字符集的方法

帶您深入了解MySQL默認(rèn)字符集

MySQL刪除外鍵定義的方法

使用MySQL外鍵的四個(gè)條件

 

責(zé)任編輯:段燃 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2023-04-25 15:46:51

Python字符串

2010-11-26 11:47:33

MySQL字段

2022-11-24 08:01:57

bash腳本字符串

2020-09-18 14:23:50

字符

2019-12-16 09:26:05

Java設(shè)計(jì)操作系統(tǒng)

2011-04-20 11:34:07

SQL字符串分割

2022-12-08 15:55:52

JavaScript字符串

2010-11-26 09:51:54

MySQL字符串

2023-06-01 07:49:51

2019-01-08 09:23:16

Java字符串編碼

2016-12-30 13:32:24

字符串算法代碼

2020-08-12 22:03:17

JavaScript開(kāi)發(fā)技術(shù)

2011-07-18 13:34:44

SQL Server數(shù)拼接字符串

2020-05-12 08:53:15

JavaScript字符串處理庫(kù)

2020-09-07 07:35:03

Grep命令字符串

2010-11-26 10:29:21

MySQL批量替換

2010-11-26 11:20:31

MySQL字符串處理函

2010-11-22 12:04:09

MySQL字段

2010-09-16 10:56:46

sqlserver建表

2011-05-25 09:58:46

C#
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)