Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Mysql) список внешних ключей таблицы / 3 сообщений из 3, страница 1 из 1
11.04.2005, 13:57
    #33008234
black zorro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) список внешних ключей таблицы
суть в сабже вопрос, как для некоторой таблицы получить описание того какие внешние ключи у нее есть, с какими таблицами связана. неплохо еще и описание того что происходит в событиях UPDATE и DELETE для главной таблицы.
...
Рейтинг: 0 / 0
11.04.2005, 14:00
    #33008245
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) список внешних ключей таблицы
API MySQL в PHP .
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
11.04.2005, 18:36
    #33009196
black zorro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) список внешних ключей таблицы
>>>API MySQL в PHP.
в общем волшебной функции я не нашел, пришлось вручную парсить инструкицю создания таблицы, если кому-то надо далее пример кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<PRE>
<?php
  $glob_DB_name = 'zu';
  $link = mysql_connect('localhost' , 'root' , '*****');
  mysql_select_db($glob_DB_name, $link);
  
  
  if ((!$rset = mysql_query ("SHOW CREATE TABLE `tableZu`" , $link))) die (mysql_error($link));
  $row = mysql_fetch_array($rset);
  
  $sql = $row [ 1 ];
  
  $lines = explode ("\n"   , $sql);
  foreach ($lines as $l){
  	if (strpos($l , 'FOREIGN KEY') !== false){
  		$p = strpos($l , 'FOREIGN KEY');
  		$l = substr($l , $p + (strlen('FOREIGN KEY')));
  		$l = trim ($l);
  		$p = strpos($l , ' ');
  		
  		$slave_field =  trim (substr($l ,  0  , $p) , "('`\"[{}]`') ");
  		print ("slave_field = $slave_field\n");
  		
  		$p = strpos($l , 'REFERENCES');
  		$l = trim(substr($l , $p + (strlen('REFERENCES'))));
  		
  		
  		$p = strpos($l , ' ');
  		$master_table = trim(substr($l ,  0  ,  $p), "('`\"[{}]`') ");
  		print (" master_table =$master_table\n");
		$l = substr($l , $p +  1 );
  		$p = strpos($l , ')');
  		$master_field= trim(substr($l ,  0  ,  $p), "('`\"[{}]`') ");
  		print (" master_field =$master_field\n");
  		
  	}
  }

?>
</PRE>
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Mysql) список внешних ключей таблицы / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]