Страница 4 из 6

MySQL - для чайника

Добавлено: 01 Апрель 2019, 11:14
Андрей
gopstop2007 писал(а): 01 Апрель 2019, 10:10вас поле time не напрягает? оно вроде как в clarion-e зарезервировано и mysql
"А ларчик просто открывался..."
Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.

MySQL - для чайника

Добавлено: 01 Апрель 2019, 12:27
Ал
Андрей писал(а): 01 Апрель 2019, 11:14
gopstop2007 писал(а): 01 Апрель 2019, 10:10вас поле time не напрягает? оно вроде как в clarion-e зарезервировано и mysql
"А ларчик просто открывался..."
Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
CW 10, если не ошибаюсь, должен "такие" поля показывать...

MySQL - для чайника

Добавлено: 01 Апрель 2019, 13:10
Андрей
Ал писал(а): 01 Апрель 2019, 12:27
Андрей писал(а): 01 Апрель 2019, 11:14
gopstop2007 писал(а): 01 Апрель 2019, 10:10вас поле time не напрягает? оно вроде как в clarion-e зарезервировано и mysql
"А ларчик просто открывался..."
Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
CW 10, если не ошибаюсь, должен "такие" поля показывать...
Ничего не показывает, приложение компилирует себе спокойно, надо на 11 попробовать

MySQL - для чайника

Добавлено: 01 Апрель 2019, 13:34
kreator
Андрей писал(а): 01 Апрель 2019, 11:14 Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
В принципе разрешают все. Поле должно быть в двойных кавычках, типа "Time". Другое дело - можно ли эти двойные кавычки в External Name написать? Никогда так не делал. Но, думаю, должно прокатывать. Подозреваю, существует мало людей, которым нравиться объекты сервера писать в двойных кавычках. Поэтому всегда есть список зарезервированных "слов". Разработчик их знает и старается не использовать в своих объектах.

MySQL - для чайника

Добавлено: 01 Апрель 2019, 19:24
gopstop2007
kreator писал(а): 01 Апрель 2019, 13:34
Андрей писал(а): 01 Апрель 2019, 11:14 Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
В принципе разрешают все. Поле должно быть в двойных кавычках, типа "Time". Другое дело - можно ли эти двойные кавычки в External Name написать? Никогда так не делал. Но, думаю, должно прокатывать. Подозреваю, существует мало людей, которым нравиться объекты сервера писать в двойных кавычках. Поэтому всегда есть список зарезервированных "слов". Разработчик их знает и старается не использовать в своих объектах.
там больше не состыковка по mysql и кавычки для названия поля не обычные, а обратные, в первый раз столкнулся на close )

MySQL - для чайника

Добавлено: 01 Апрель 2019, 22:57
kreator
gopstop2007 писал(а): 01 Апрель 2019, 19:24 там больше не состыковка по mysql и кавычки для названия поля не обычные, а обратные, в первый раз столкнулся на close )
Апострофы то бишь? Оригинально.

MySQL - для чайника

Добавлено: 02 Апрель 2019, 0:06
gopstop2007
да, как здесь )

Код: Выделить всё

Fstr{PROP:SQL}='ALTER TABLE `user` ADD `PHOTO_SAVE` tinyint(4) DEFAULT NULL AFTER `ROZN_USE`'

MySQL - для чайника

Добавлено: 02 Апрель 2019, 11:01
kreator
Сейчас "вендоры" SQL-серверов стараются привести свои "эксклюзивы" к стандарту. И слава богу. А то жесть какая-то. Например, сейчас в руководстве по FB можно встретить такое (обратите внимание на "Важно"):
firstskip.png

MySQL - для чайника

Добавлено: 04 Апрель 2019, 10:06
Андрей
Продолжаю освоение...
Сделал тестовую базу на своем компе. 2 таблицы: Person и Docs, подчиненная Person. Ну типа Люди и Документы людей. Без чтения инструкций, по аналогии с рабочей базой сделал Ограничения. Так понял, что в отличие от Clarion-а, в MySQL relation задается только со стороны дочерней таблицы ? Ну ладно сделал, как обычно: на изменение Cascade, на удаление Restrict. Проверил в dbForge - работают оба правила.
Собираю тестовое приложение на автомате, проверяю: на Удаление работает, на изменение Id в Person ничего не происходит...
Или надо отдельно было в Person помимо Id первичного, завести еще некий IdPerson, хотя он и тождественен Id ?

MySQL - для чайника

Добавлено: 04 Апрель 2019, 10:19
Admin
Андрей писал(а): 04 Апрель 2019, 10:06на изменение Id в Person
Нельзя ID менять в Person! неправильно это.

MySQL - для чайника

Добавлено: 04 Апрель 2019, 10:56
Андрей
Admin писал(а): 04 Апрель 2019, 10:19
Андрей писал(а): 04 Апрель 2019, 10:06на изменение Id в Person
Нельзя ID менять в Person! неправильно это.
Я с этим согласен для реальных задач. Однако на уровне MySQL нет такого ограничения ? В dbForge меняется, в Clarion приложении - нет.

MySQL - для чайника

Добавлено: 04 Апрель 2019, 16:11
kreator
Андрей, какая политика на сервере и в словаре? Должно быть на сервере "Cascade", в кларионовском словаре "CascadeServer". ID - первичный ключ?

MySQL - для чайника

Добавлено: 04 Апрель 2019, 17:17
Андрей
kreator писал(а): 04 Апрель 2019, 16:11 в кларионовском словаре "CascadeServer". ID - первичный ключ?
А у меня вообще не задан Relation в кларионовском словаре. Значит для Update нужен ? А для Delete работает MySQL движок ?
ID для мат. таблицы, да первичный ключ, он же используется для дочерней таблицы как ид-р род. записи.

MySQL - для чайника

Добавлено: 04 Апрель 2019, 17:31
kreator
Я думаю, если не задан Relation, то всё на сервере. Получается, что и родительский ID в таблице на сервере не меняется?

MySQL - для чайника

Добавлено: 05 Апрель 2019, 16:32
Андрей
kreator писал(а): 04 Апрель 2019, 17:31 Я думаю, если не задан Relation, то всё на сервере. Получается, что и родительский ID в таблице на сервере не меняется?
Не меняется... что-то запутался. Есть Relation в MySQL и есть Relation в словаре Clarion. Когда что используется ?