Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.04.2015, 22:48
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

MySQL вопроса тред
подскажите как провернуть такое что мол инкримент только средствами языка sql. есть такое INT поле "номер счета" и нужно чтобы оно автоматом увеличивалось на один допустим. я хочу это сделать на уровне sql через default value

TABLE ololo(
name INT DEFAULT (select max(*) as...)+1
)

ну то есть типа того, короче как инкриментировать обычное поле которое не ключ
Ответить с цитированием
  #2 (permalink)  
Старый 01.05.2015, 08:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Зачем же номер счета делать полем не уникальным и без авто инкремента?
Ответить с цитированием
  #3 (permalink)  
Старый 01.05.2015, 19:16
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

laimas, потому что инкримент можно поставить только на PK а а он стоит естественно на id, а id система исопльзует для своих внутренних нужд. так же номер счета должен отличаться от id
Ответить с цитированием
  #4 (permalink)  
Старый 01.05.2015, 19:33
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Цитата:
инкримент можно поставить только на PK
На непервичный ключ тоже вроде можно автоинкремент вешать
Ответить с цитированием
  #5 (permalink)  
Старый 01.05.2015, 20:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Makarov Посмотреть сообщение
На непервичный ключ тоже вроде можно автоинкремент вешать
На уникальный можно, а но в двух полей с автоикрементом в таблице не может быть, как и первичного с уникальным.
Ответить с цитированием
  #6 (permalink)  
Старый 01.05.2015, 20:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

UIjs, сперва надо понять что первично, курица или яйцо )
Что такое номер счета, счета чего? Почему потребовался номер по порядку? Это просто порядок или же уникальность?
Ответить с цитированием
  #7 (permalink)  
Старый 01.05.2015, 20:41
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Ну, можно создать таблицу ORDERS и получить оттуда уникальные значения. Ну, будет в ней 1 столбец counter с аuto_increment-om и всё.

Тыркаем в ORDERS, получили уник-автоинкремент, вставили в основную таблицу ololo у которого свой автоинкремент.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #8 (permalink)  
Старый 01.05.2015, 20:44
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

В OrientDB например нет autoincrementa в привычном понимании. Зато есть такой, как я описал выше.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #9 (permalink)  
Старый 01.05.2015, 21:44
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

Gozar, ух ты хитрый)), ха) костыль конечно но работать будет. ладно, запилю в двигле автоинкриментацию или какую нить функцию на mysqk нафурычу. в принципе можно простым селектом делать типа считать максимальное значение и бла бла бла и подставлять в другой селект. но проще этио пыхой делать. храня где то таблицу последних значений максимальных кастомных инкриментов просто. и все.

ладно
Ответить с цитированием
  #10 (permalink)  
Старый 01.05.2015, 22:25
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от UIjs
костыль конечно
Для мускуля, возможно. Там много костылей
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Webpack'а тред nerv_ Сборка проекта, утилиты 58 07.05.2016 13:46
Приглашаем web-программистов (php, MySQL, Javascript). smithandpartners Работа 2 06.09.2013 21:17
Не подключается MySql super-php Серверные языки и технологии 1 02.08.2013 01:26
Таймер на js с записью в mysql lapitsky Общие вопросы Javascript 1 07.06.2013 19:37
Приглашаем web-программистов (php, MySQL, Javascript). smithandpartners Работа 3 06.11.2012 22:29