|
|
|
|
|
для: tAleks
(03.07.2006 в 08:33)
| | Хм... попробуйте заключить имя таблицы orders в обратные кавычки... Погодите, вы просто хотите присваивать полю максимальное значение + 1? Может тогда лучше воспользоваться специально созданным для этого случая механизмом AUTO_INCREMENT? | |
|
|
|
|
|
|
|
для: cheops
(02.07.2006 в 23:52)
| |
<?php
$query_insert_order = "
INSERT INTO orders SET number_order = (SELECT MAX(number_order) FROM orders WHERE id_ds_user =".$_SESSION['ds_data']['id_user'].") + 1,
id_ds_user = ".$_SESSION['ds_data']['id_user'].",
?> id_user = ".$_SESSION['user_data']['id_user'];
|
Выдает ошибку:
1093: You can't specify target table 'orders' for update in FROM clause | |
|
|
|
|
|
|
|
для: cheops
(02.07.2006 в 23:52)
| | А как после этого узнать MAX(number_order) FROM orders? Дополнительным запросом? | |
|
|
|
|
|
|
|
для: tAleks
(02.07.2006 в 19:01)
| | Хм... а зачем переменную используете? Просто добавляйте значение вложенного запроса
<?php
$query_insert_order = "INSERT INTO orders SET
number_order = (SELECT MAX(number_order) FROM orders WHERE id_ds_user =".$_SESSION['ds_data']['id_user'].") + 1,
id_ds_user = ".$_SESSION['ds_data']['id_user'].",
id_user = ".$_SESSION['user_data']['id_user'];
?>
|
| |
|
|
|
|
|
|
| Есть вот такой запрос, не работающий.
$query_insert_order = "INSERT INTO orders SET
number_order = (SELECT @number := MAX(number_order) FROM orders WHERE id_ds_user =".$_SESSION['ds_data']['id_user'].") + 1,
id_ds_user = ".$_SESSION['ds_data']['id_user'].",
id_user = ".$_SESSION['user_data']['id_user'].";
SELECT @number;";
|
Задача:
Нужно добавить запись в таблицу. Значение number_order = максимальному значению из этой же таблицы +1.
И в конце нужно вернуть number_order
Как сделать так, чтобы это все работало? | |
|
|
|
|