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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

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

Сообщение Андрей »

gopstop2007 писал(а): 01 Апрель 2019, 10:10вас поле time не напрягает? оно вроде как в clarion-e зарезервировано и mysql
"А ларчик просто открывался..."
Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

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

Сообщение Ал »

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

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

Сообщение Андрей »

Ал писал(а): 01 Апрель 2019, 12:27
Андрей писал(а): 01 Апрель 2019, 11:14
gopstop2007 писал(а): 01 Апрель 2019, 10:10вас поле time не напрягает? оно вроде как в clarion-e зарезервировано и mysql
"А ларчик просто открывался..."
Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
CW 10, если не ошибаюсь, должен "такие" поля показывать...
Ничего не показывает, приложение компилирует себе спокойно, надо на 11 попробовать
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Андрей писал(а): 01 Апрель 2019, 11:14 Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
В принципе разрешают все. Поле должно быть в двойных кавычках, типа "Time". Другое дело - можно ли эти двойные кавычки в External Name написать? Никогда так не делал. Но, думаю, должно прокатывать. Подозреваю, существует мало людей, которым нравиться объекты сервера писать в двойных кавычках. Поэтому всегда есть список зарезервированных "слов". Разработчик их знает и старается не использовать в своих объектах.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

kreator писал(а): 01 Апрель 2019, 13:34
Андрей писал(а): 01 Апрель 2019, 11:14 Точно, спасибо, а в другой проблемной таблице было поле с именем DATE. MySQL видать такие штуки разрешает.
В принципе разрешают все. Поле должно быть в двойных кавычках, типа "Time". Другое дело - можно ли эти двойные кавычки в External Name написать? Никогда так не делал. Но, думаю, должно прокатывать. Подозреваю, существует мало людей, которым нравиться объекты сервера писать в двойных кавычках. Поэтому всегда есть список зарезервированных "слов". Разработчик их знает и старается не использовать в своих объектах.
там больше не состыковка по mysql и кавычки для названия поля не обычные, а обратные, в первый раз столкнулся на close )
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

gopstop2007 писал(а): 01 Апрель 2019, 19:24 там больше не состыковка по mysql и кавычки для названия поля не обычные, а обратные, в первый раз столкнулся на close )
Апострофы то бишь? Оригинально.
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

да, как здесь )

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

Fstr{PROP:SQL}='ALTER TABLE `user` ADD `PHOTO_SAVE` tinyint(4) DEFAULT NULL AFTER `ROZN_USE`'
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Сейчас "вендоры" SQL-серверов стараются привести свои "эксклюзивы" к стандарту. И слава богу. А то жесть какая-то. Например, сейчас в руководстве по FB можно встретить такое (обратите внимание на "Важно"):
firstskip.png
We are hard at work… for you. :)
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

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

Сообщение Андрей »

Продолжаю освоение...
Сделал тестовую базу на своем компе. 2 таблицы: Person и Docs, подчиненная Person. Ну типа Люди и Документы людей. Без чтения инструкций, по аналогии с рабочей базой сделал Ограничения. Так понял, что в отличие от Clarion-а, в MySQL relation задается только со стороны дочерней таблицы ? Ну ладно сделал, как обычно: на изменение Cascade, на удаление Restrict. Проверил в dbForge - работают оба правила.
Собираю тестовое приложение на автомате, проверяю: на Удаление работает, на изменение Id в Person ничего не происходит...
Или надо отдельно было в Person помимо Id первичного, завести еще некий IdPerson, хотя он и тождественен Id ?
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

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

Сообщение Admin »

Андрей писал(а): 04 Апрель 2019, 10:06на изменение Id в Person
Нельзя ID менять в Person! неправильно это.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

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

Сообщение Андрей »

Admin писал(а): 04 Апрель 2019, 10:19
Андрей писал(а): 04 Апрель 2019, 10:06на изменение Id в Person
Нельзя ID менять в Person! неправильно это.
Я с этим согласен для реальных задач. Однако на уровне MySQL нет такого ограничения ? В dbForge меняется, в Clarion приложении - нет.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Андрей, какая политика на сервере и в словаре? Должно быть на сервере "Cascade", в кларионовском словаре "CascadeServer". ID - первичный ключ?
We are hard at work… for you. :)
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

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

Сообщение Андрей »

kreator писал(а): 04 Апрель 2019, 16:11 в кларионовском словаре "CascadeServer". ID - первичный ключ?
А у меня вообще не задан Relation в кларионовском словаре. Значит для Update нужен ? А для Delete работает MySQL движок ?
ID для мат. таблицы, да первичный ключ, он же используется для дочерней таблицы как ид-р род. записи.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Я думаю, если не задан Relation, то всё на сервере. Получается, что и родительский ID в таблице на сервере не меняется?
We are hard at work… for you. :)
Андрей
Старожил
Сообщения: 277
Зарегистрирован: 30 Октябрь 2005, 3:58

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

Сообщение Андрей »

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