|
|
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
Всем привет. Подскажите, в чём я туплю... Надо в общем для одной таблицы выставить auto_increment как у другой. Для этого запускаю: Код: plsql 1. 2. На выходе: Syntax error or access violation: 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 '@id' at line 1. The SQL statement executed was: ALTER TABLE `tires` AUTO_INCREMENT = @id Может просто я делаю это как-то через не то место?! :) Прошу помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 13:12:43 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
Видимо, там нельзя подставлять переменную, а можно только числовой литерал. Попробуйте через prepared statements. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 13:18:21 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
ПрограмёрМожет просто я делаю это как-то через не то место?! :)Да :) Во-первых, не указываете schema_name Во-вторых, похоже, нельзя в альтер переменные пихать. Собирайте строку запроса и используйте prepared statements. Хотя сам факт, что вам потребовалось подобное (если вы хотите это сделать скриптом, значит, это не разовое решение), говорит о том, что у вас что-то не в порядке с базой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 13:45:17 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
вот это я заслоупочил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 13:45:46 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
miksoftВидимо, там нельзя подставлять переменную, а можно только числовой литерал. Попробуйте через prepared statements. Syntax error or access violation: 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 '?' at line 1. The SQL statement executed was: PREPARE stmt FROM 'ALTER TABLE `tires` AUTO_INCREMENT = ?' Я криворукий, или его что-то не устраивает? :( mysql5.0 движок innoDB ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 13:46:03 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
Програмёр, вы опять пихаете туда переменную :) соберите весь текст запроса concat-ом, в том числе и значение переменной приконкатенируйте, не ставьте её параметром ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 13:54:38 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
tanglirПрограмёр, вы опять пихаете туда переменную :) соберите весь текст запроса concat-ом, в том числе и значение переменной приконкатенируйте, не ставьте её параметром Понял... но из-за срочности уже решил на стороне php сделать... всё как надо получилось :) В плане, что что-то не так с базой - возможно... просто сейчас нету времени что бы глобально менять. :) хотя есть идея сделать некоторые поправки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 14:11:19 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
всем спасибо, кстати :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 14:23:53 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
Подумал, а вдруг кто подскажет по структуре умные мысли... опишу тут свою структуру (прошу отнестись полоялнее ), если у кого мысли возникнут и предложения, с радостью их выслушаю. Есть основная таблица с товарами магазина и есть 3 таблицы на 3 вида нестандартных товаров, для их особых полей. Из-за чего мне нужен был такой трюк с синхронизацией автоинкрементов - из-за того, что в разных поставках может быть один и тот же товар с разными ценами, а значит на сайте может появиться 2 товара с одинаковым артиклем. Значит связывать основную таблицу с дополнительными надо по другому полю - по некому генерируемому id (который автоинкрементится). Прайсов много, товаров тоже много... заказчику приходят не изменённые позиции, а полный прайс, который система должна обработать. Потому вопрос в быстродействии при обновлении прайса... для этого было решено использовать "LOAD DATA INFILE ...", но учитывая что поля прайса делятся на 2 таблицы, то загрузка требует выполнения 2 запросов, а значит нужна синхронизация ключей таблиц. Вот :) То есть если артикулы бы не повторялись, то ситуация бы не возникла (когда продумывалась структура системы заказчик умолчал о данном факте и заговорил лишь тогда, когда основа была написана). Так что если у кого-то есть предложения по реорганизации процесса загрузки или самой базы - поделитесь опытом, пожалуйста :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 16:12:15 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
То есть вам нужен один общий автоинк.ид на все таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2014, 19:45:17 |
|
||
|
auto_increment = @id => ошибка синтаксиса
|
|||
|---|---|---|---|
|
#18+
tanglirТо есть вам нужен один общий автоинк.ид на все таблицы? оснрвная задача - это загрузка данных в 2 таблицы с помощью load data infile, но со связыванием таблиц по полю с автоинкремент. общий автоинкремент на 2 таблицы не поможет, потому как после загрузки данных в первую, но до загрузки во вторую автоинкремент второй таблицы будет на n больше чем мне нужно. Идеальный вариант - загрузка данных одной командой в 2 таблицы, но данная команда так не умеет, насколько я знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2014, 06:31:59 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1834370]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 352ms |

| 0 / 0 |
