
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.07.2014, 16:06:59
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Не могу в этой БД сделать столбцы t_s.id_n и t_s.id_s сделать внешними ключами для tn.idn и ts.ids соответственно. Дамп прилагаю. Что не так? Не показывает в phpMyAdmin для t_s никаких настрое связей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 16:15:52
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejkНе могукоманда не набирается? или всё-таки сервер ошибку выдаёт? если первое, то ничем помочь не сможем, а если второе, то где её текст? впрочем, судя по дампу, подозреваю, что в этой таблице просто есть записи "без родителей" попробуйте её очистить и сделать внешние ключи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 16:37:29
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Я ничего не пишу, ошибок нет, просто вот такая ерунда — нет настроек внешних ключей для таблицы t_s. Снимки приложил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 16:39:57
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejk, ну, по глюкам пхпмуадмина я не спец. Создавайте ключи запросом, там и увидите, в чём затык (если он будет). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 16:49:13
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Я подозреваю, что это как-то связанно с тем, что в t_s нет ни одного первичного ключа. Он там просто не нужен. Это единственное отличие, которое я нашёл между таблицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 20:33:56
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. Выдаёт ошибку синтаксиса. #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 'REFERENCES ts (ids) ON DELETE CASCADE ON UPDATE CASCADE' at line 3 Мне нужно в таблице t_s сделать её столбец id_n внешним ключём к столбцу tn.idn/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 21:05:27
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejk, Имя поля id_n нужно в скобки брать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 22:03:41
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
ALTER TABLE t_s ADD FOREIGN KEY vk_id_s(id_s) REFERENCES ts(ids) ON DELETE NO ACTION ON UPDATE CASCADE; Здесь vk_id_s это название внешнего ключа, которое мы сами задаём? Без него можно или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 22:07:55
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejk, ну вы бы в доку хоть одним глазом глянули... http://dev.mysql.com/doc/refman/5.5/en/alter-table.html | ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 22:50:21
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
miksoftandrejk, ну вы бы в доку хоть одним глазом глянули... http://dev.mysql.com/doc/refman/5.5/en/alter-table.html | ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_definition Я сам учусь, мне сложно доки читать пока, я не понимаю тех условных обозначений. Мне проще на примерах и ответах на мои «глупые» вопросы. Если подскажете, где можно ознакомиться с условными обозначеними в доках, буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 22:59:28
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejkЕсли подскажете, где можно ознакомиться с условными обозначеними в доках, буду признателен.Да все там же - в доке. См. Typographical and Syntax Conventions Хотя обозначения совершенно стандартные, мне в этот раздел до сих пор и заглядывать нужды не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:04:03
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
Основных моментов три: 1) квадратные скобки - необязательные части 2) вертикальная палка - можно написать что-то одно из вариантов 3) фигурная скобка - обязательная часть, как правило с выбором в виде строк, разделенных вертикальными палками. Все три обозначения используются только для чтения синтаксиса, но не при записи реальных команд. Круглые скобки и запятые - просто элемент синтаксиса. Т.е. пишутся в командах как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:18:54
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
miksoftОсновных моментов три: 1) квадратные скобки - необязательные части 2) вертикальная палка - можно написать что-то одно из вариантов 3) фигурная скобка - обязательная часть, как правило с выбором в виде строк, разделенных вертикальными палками. Все три обозначения используются только для чтения синтаксиса, но не при записи реальных команд. Круглые скобки и запятые - просто элемент синтаксиса. Т.е. пишутся в командах как есть. А вот за это спасибо, ибо с английским я никак, только на уровне синтаксиса. Так бесит, когда тебя в английские тексты тыкают. Нахрен, спрашивается, тогда я у русских спрашиваю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:22:33
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejkТак бесит, когда тебя в английские тексты тыкают. Нахрен, спрашивается, тогда я у русских спрашиваю?Тыкают не в "английские тексты", а в оригинальную документацию. Переводная в ряде случаев существует, но часто страдает от недостатков. Например, по MySQL русскоязычная документация закончилась на версии 4.1. Да и та страдала ошибками перевода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:35:52
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Тут вот какая задача. Есть бд: tn (idn, n) — таблица наборов слов. ts (ids, s) — таблица слов. t_s (id_n, id_s) — таблица связей между наборами и словами. Нужно, чтобы удаляя слово из таблицы слов, удалялись и все связи его с наборами слов из таблицы связей. Аналогично и с наборами. При этом не должно оставаться слов в таблице слов и наборов в таблице наборов, которые не представлены в таблице связей. Т. е., если при удалении слова из т. слов удаляются последние упоминания о наборе из т. связей, то удаляется и набор из т. наборов (это возможно, если набор слов состоял только из нашего слова). Аналогично и с удалением наборов — удалять те слова из т. слов, которые были привязаны только к нашему набору. Как лучше организовать возможность редактирования бд: через внешние ключи или через запросы? Или через смесь и того и другого? Приоритет за надёжностью, а не за скоростью и размером запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:38:51
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Таблица наборов в принципе и не нужна для этой задачи, но предполагается в ней в будущем хранить некоторую информацию о наборе. n — это имя набора, просто имя (имя файла, время создания набора или ещё что-то, неважно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:39:56
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejk, Вы хотите странного. Тут внешние ключи не помогут. Тут нужны либо хранимые процедуры, либо наборы SQL-запросов в клиентском приложении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:45:25
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Почему странного? Что плохого в наборах запросов? Главное задачу решить. Я так и предполагал, что только запросы с проверкой на существование, ибо эти fk муть полная. ну так почему-же странного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:51:33
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejkПри этом не должно оставаться слов в таблице слов и наборов в таблице наборов, которые не представлены в таблице связей.Вот это странное. Если этого не требовать или, например, отделить это от основной логики в регулярно выполняемый скрипт, то внешних ключей было бы достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2014, 23:57:49
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
Да вот в том-то и дело, что должна быть возможность редактировать и удалять наборы и слова. И если всё не связать, то со временем в бд появится куча «летучих голландцев» как в наборах, так и в словах. А нафик они надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2014, 00:51:00
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejkИ если всё не связать, то со временем в бд появится куча «летучих голландцев» как в наборах, так и в словах.Не обязательно. Вариант я уже предлагал. miksoftотделить это от основной логики в регулярно выполняемый скрипт Продумайте все сценарии работы с таблицами. Например такой: Завел пользователь слово, добавил его в набор. А потом понял, что ошибся, не в тот набор добавил. И удалил из набора. Хочет в другой, правильный набор добавить, а слова-то уже и нету... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2014, 02:11:52
|
|||
|---|---|---|---|
|
|||
Не получается установить внешний ключ. |
|||
|
#18+
На этот счёт я подумаю над ограничением свободы пользователя, чтоб был минимальный набор действий, но из которого можно сделать всё, что нужно, пусть и не совсем рационально. А если удалит слово или не так его напишет, то исправить можно будет тлько через удаление-создание, ибо нех…))) ошибаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.07.2014, 16:42:30
|
|||
|---|---|---|---|
Не получается установить внешний ключ. |
|||
|
#18+
andrejkЯ подозреваю, что это как-то связанно с тем, что в t_s нет ни одного первичного ключа. Он там просто не нужен. Это единственное отличие, которое я нашёл между таблицами. первичный ключь обязан быть в родительской таблице. без его внешний кость не создать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1834454]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 335ms |

| 0 / 0 |
