powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Mysql) список внешних ключей таблицы
3 сообщений из 3, страница 1 из 1
(PHP&Mysql) список внешних ключей таблицы
    #33008234
black zorro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
суть в сабже вопрос, как для некоторой таблицы получить описание того какие внешние ключи у нее есть, с какими таблицами связана. неплохо еще и описание того что происходит в событиях UPDATE и DELETE для главной таблицы.
...
Рейтинг: 0 / 0
(PHP&Mysql) список внешних ключей таблицы
    #33008245
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
API MySQL в PHP .
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(PHP&Mysql) список внешних ключей таблицы
    #33009196
black zorro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>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
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Mysql) список внешних ключей таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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