다음 코드는 해당 데이터베이스를 생성하는 sql 코드입니다.
코드 복사 코드는 다음과 같습니다
//////////////
//////无限分类的数据库设计及样例
////////// ////
mysql> 데이터베이스 생성 db_kind;
쿼리 확인, 1개 행이 영향을 받음
mysql> db_kind;
데이터베이스 변경됨
mysql> 테이블 생성 tb_kind(
-> id int not null auto_increment 기본 키,
-> pid int,
-> path varchar(200)
-> );
Query 알겠습니다. 영향을 받은 행은 0개입니다
mysql> tb_kind 값에 삽입(null,"新闻",0,0);
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"视频",0,0);
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"图文",0,0);
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"博客",0,0);
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"体育新闻",1,"0-1");
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"娱乐新闻",1,"0-1");
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"财经新闻",1,"0-1");
쿼리 확인, 1개 행이 영향을 받음
mysql> db_kind에서 * 선택;
오류 1146: 테이블 'db_kind.db_kind'가 존재하지 않습니다
mysql> tb에서 * 선택
_kind;
---- ---------- ----- ------
| 아이디 | 이름 | PID | 경로 |
---- ---------- ----- ------
| 1 | 새로운 내용 | 0 | 0 |
| 2 | 视频 | 0 | 0 |
| 3 | 사진 | 0 | 0 |
| 4 | 博客 | 0 | 0 |
| 5 | 体育 새로운 소식 | 1 | 0-1 |
| 6 | 새로운 소식 | 1 | 0-1 |
| 7 | 财经신규 | 1 | 0-1 |
---- ---------- ----- ------
7행 세트
mysql> tb_kind 값에 삽입(null,"篮球新闻",5,"0-1-5");
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"足球新闻",5,"0-1-5");
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind에서 * 선택;
---- ---------- ----- -------
| 아이디 | 이름 | PID | 경로 |
---- ---------- ----- -------
| 1 | 새로운 내용 | 0 | 0 |
| 2 | 视频 | 0 | 0 |
| 3 | 사진 | 0 | 0 |
| 4 | 博客 | 0 | 0 |
| 5 | 새로운 소식 | 1 | 0-1 |
| 6 | 새로운 소식 | 1 | 0-1 |
| 7 | 财经신규 | 1 | 0-1 |
| 8 | 새로운 소식 | 5 | 0-1-5 |
| 9 | 足球신규 | 5 | 0-1-5 |
---- ---------- ----- -------
9행 세트
mysql> tb_kind 값에 삽입(null,"NBA",8,"0-1-5-8");
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind 값에 삽입(null,"CBA",8,"0-1-5-8");
쿼리 확인, 1개 행이 영향을 받음
mysql> tb_kind에서 * 선택;
---- ---------- ----- ---------
| 아이디 | 이름 | PID | 경로 |
---- ---------- ----- ---------
| 1 | 새로운 내용 | 0 | 0 |
| 2 | 视频 | 0 | 0 |
| 3 | 사진 | 0 | 0 |
| 4 | 博客 | 0 | 0 |
| 5 | 体育 새로운 소식 | 1 | 0-1 |
| 6 | 새로운 소식 | 1 | 0-1 |
| 7 | 财经신규 | 1 | 0-1 |
| 8 | 새로운 소식 | 5 | 0-1-5 |
| 9 | 足球신규 | 5 | 0-1-5 |
| 10 | NBA | 8 | 0-1-5-8 |
| 11 | CBA | 8 | 0-1-5-8 |
---- ---------- ----- ---------
세트에 11개 행
mysql> select concat(path,"-",id) from tb_kind;
+---------------------+
| concat(path,"-",id) |
+---------------------+
| 0-1 |
| 0-2 |
| 0-3 |
| 0-4 |
| 0-1-5 |
| 0-1-6 |
| 0-1-7 |
| 0-1-5-8 |
| 0-1-5-9 |
| 0-1-5-8-10 |
| 0-1-5-8-11 |
+---------------------+
11 rows in set
mysql> select concat(path,"-",id) from tb_kind;
+---------------------+
| concat(path,"-",id) |
+---------------------+
| 0-1 |
| 0-2 |
| 0-3 |
| 0-4 |
| 0-1-5 |
| 0-1-6 |
| 0-1-7 |
| 0-1-5-8 |
| 0-1-5-9 |
| 0-1-5-8-10 |
| 0-1-5-8-11 |
+---------------------+
11 rows in set
mysql> select concat(path,"-",id) as abs from tb_kind order by abs.path;
ERROR 1054 : Unknown column 'abs.path' in 'order clause'
mysql> select concat(path,"-",id) as abs from tb_kind order by abs
+------------+
| abs |
+------------+
| 0-1 |
| 0-1-5 |
| 0-1-5-8 |
| 0-1-5-8-10 |
| 0-1-5-8-11 |
| 0-1-5-9 |
| 0-1-6 |
| 0-1-7 |
| 0-2 |
| 0-3 |
| 0-4 |
+------------+
11 rows in set
mysql> select concat(path,"-",id) as,id,name,path abs from tb_kind order by abs;
ERROR 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id,name,path abs from tb_kind order by abs' at line 1
mysql> select concat(path,"-",id) as abs,
id,pname,path abs from tb_kind order by abs;
+------------+----+----------+---------+
| abs | id | pname | abs |
+------------+----+----------+---------+
| 0-1 | 1 | 新闻 | 0 |
| 0-1-5 | 5 | 体育新闻 | 0-1 |
| 0-1-5-8 | 8 | 篮球新闻 | 0-1-5 |
| 0-1-5-8-10 | 10 | NBA | 0-1-5-8 |
| 0-1-5-8-11 | 11 | CBA | 0-1-5-8 |
| 0-1-5-9 | 9 | 足球新闻 | 0-1-5 |
| 0-1-6 | 6 | 娱乐新闻 | 0-1 |
| 0-1-7 | 7 | 财经新闻 | 0-1 |
0-2 | 0 | 0 | 0 | 0 | ---- ---- ---------- ---------
11행 세트
mysql>
다음 php 소스 파일입니다:
코드는 다음과 같습니다: