Ошибка limit mysql

@Marc B provides the reason, why update normally can’t work with limit.

And @Roopchand also provide a solution.

For people like me, who is trying to avoid turning off the safe update mode

https://stackoverflow.com/a/28316067/1278112
This answer is quite helpful. It give an example

UPDATE customers SET countryCode = ‘USA’
WHERE country = ‘USA’; — which gives the error, you just write:

UPDATE customers SET countryCode = ‘USA’
WHERE (country = ‘USA’ AND customerNumber <> 0); — Because customerNumber is a primary key you got no error 1175 any more.

And when I face update with the multiple-table syntax, it also worked.

What I want but would raise error code 1175.

UPDATE table1 t1
        INNER JOIN
    table2 t2 ON t1.name = t2.name 
SET 
    t1.column = t2.column
WHERE
    t1.name = t2.name;

The working edition

UPDATE table1 t1
        INNER JOIN
    table2 t2 ON t1.name = t2.name 
SET 
    t1.column = t2.column
WHERE
    (t1.name = t2.name and t1.prime_key !=0);

Which is really simple and elegant. Since the original answer doesn’t get too much attention (votes), I post more explanation. Hope this can help others.

I just want to get the first result of this query but whenever I write down LIMIT. Oracle SQL Developer throws me this error

*ORA-00933: SQL command not properly ended
00933. 00000 — «SQL command not properly ended»
*Cause:
Action:
Error at Line: 6 Column: 7

Here is the Code:

SELECT IDBAR FROM ( SELECT PARRANDEROS.FRECUENTAN.ID_BAR as IDBAR,

COUNT(PARRANDEROS.FRECUENTAN.ID_BAR) c 
FROM PARRANDEROS.FRECUENTAN
GROUP BY PARRANDEROS.FRECUENTAN.ID_BAR
ORDER BY c DESC
) 

LIMIT 1;

I’ve tried this method too:

SELECT IDBAR FROM ( SELECT PARRANDEROS.FRECUENTAN.ID_BAR as IDBAR,

COUNT(PARRANDEROS.FRECUENTAN.ID_BAR) c 
FROM PARRANDEROS.FRECUENTAN
GROUP BY PARRANDEROS.FRECUENTAN.ID_BAR
ORDER BY c DESC
LIMIT 1

);

Thanks a Lot.

asked Mar 1, 2015 at 1:37

David Cruz's user avatar

1

Thanks to @Jim Garrison. The solution was to use the ROWNUM attribute:

SELECT IDBAR FROM ( SELECT PARRANDEROS.FRECUENTAN.ID_BAR as IDBAR, 
COUNT(PARRANDEROS.FRECUENTAN.ID_BAR) c 
FROM PARRANDEROS.FRECUENTAN
GROUP BY PARRANDEROS.FRECUENTAN.ID_BAR
ORDER BY c DESC
) 

WHERE ROWNUM <= 1;

answered Mar 1, 2015 at 1:47

David Cruz's user avatar

David CruzDavid Cruz

2,9973 gold badges28 silver badges41 bronze badges

Ввожу такие команды

BEGIN TRANSACTION;

/* Create a table called NAMES */
CREATE TABLE NAMES(Id integer, Name text);

/* Create few records in this table */
INSERT INTO NAMES VALUES(1,'Tom');
INSERT INTO NAMES VALUES(2,'Lucy');
INSERT INTO NAMES VALUES(3,'Frank');
INSERT INTO NAMES VALUES(4,'Jane');
INSERT INTO NAMES VALUES(4,'HellO!');
INSERT INTO NAMES VALUES(5,'Robert');
COMMIT;

DELETE FROM NAMES WHERE Id = 4 LIMIT 1;

SELECT * FROM NAMES;

Получаю это:

1|Tom
2|Lucy
3|Frank
4|Jane
4|HellO!
5|Robert
Error: near line 15: near "LIMIT": syntax error

Как исправить ошибку с LIMIT? (точно такая же ошибка если пытаюсь как-то сделать с ORDER BY)

Link24

0 / 0 / 0

Регистрация: 18.04.2013

Сообщений: 117

1

03.10.2013, 20:01. Показов 3207. Ответов 7

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Необходима выборка не более 50 значений

SQL
1
2
3
SELECT org, gorod, adres FROM org  WHERE org LIKE %colname% OR adres LIKE  %colname% OR gorod LIKE %colname%  LIMIT 0, 50 UNION  SELECT org2, gorod2, adres2
FROM g2
WHERE org2 LIKE %colname% OR adres2 LIKE  %colname% OR gorod2 LIKE %colname%  LIMIT 0, 50

В чем ошибка? мозг сломал
Всем авансом спасибо!!!



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

03.10.2013, 20:01

Ответы с готовыми решениями:

LIMIT
$result = mysql_query(&quot;SELECT * FROM table_reviews,table_one WHERE table_one.id_image =…

Limit
Есть ли в Accesse что-нибудь подобное Limit из
mySQL?

LIMIT
Есть таблица table с полями (ID_продукта | ID_магазина | цена_продукта)

Можно программно сделать…

LIMIT and WHERE
SELECT id, user, name
FROM classes AS cl
WHERE !del
ORDER BY last DESC
LIMIT {$f}, {$c}…

7

_ViPeR_

614 / 488 / 175

Регистрация: 02.03.2010

Сообщений: 1,236

04.10.2013, 06:13

2

MySQL
1
2
3
4
5
6
7
8
(SELECT org, gorod, adres
FROM org 
WHERE org LIKE %colname% OR adres LIKE  %colname% OR gorod LIKE %colname%)
UNION
(SELECT org2, gorod2, adres2
FROM g2
WHERE org2 LIKE %colname% OR adres2 LIKE  %colname% OR gorod2 LIKE %colname%)
LIMIT 0, 50



0



Link24

0 / 0 / 0

Регистрация: 18.04.2013

Сообщений: 117

04.10.2013, 16:03

 [ТС]

3

Цитата
Сообщение от _ViPeR_
Посмотреть сообщение

MySQL
1
2
3
4
5
6
7
8
(SELECT org, gorod, adres
FROM org 
WHERE org LIKE %colname% OR adres LIKE  %colname% OR gorod LIKE %colname%)
UNION
(SELECT org2, gorod2, adres2
FROM g2
WHERE org2 LIKE %colname% OR adres2 LIKE  %colname% OR gorod2 LIKE %colname%)
LIMIT 0, 50

Дак запрос с select должен начинаться. Так не катит



0



2663 / 1727 / 175

Регистрация: 05.06.2011

Сообщений: 4,967

05.10.2013, 12:04

4

Цитата
Сообщение от Link24
Посмотреть сообщение

В чем ошибка?

Дык текст-то ошибки — где?
Навскидку — а разве строки в кавычки не надо брать? MySQL подзабыл уже.



0



Link24

0 / 0 / 0

Регистрация: 18.04.2013

Сообщений: 117

06.10.2013, 12:27

 [ТС]

5

Цитата
Сообщение от iifat
Посмотреть сообщение

Дык текст-то ошибки — где?
Навскидку — а разве строки в кавычки не надо брать? MySQL подзабыл уже.

SQL
1
2
3
4
5
6
7
8
(SELECT org, gorod, adres
FROM org 
WHERE org LIKE %colname% OR adres LIKE  %colname% OR gorod LIKE %colname%)
UNION
(SELECT org2, gorod2, adres2
FROM g2
WHERE org2 LIKE %colname% OR adres2 LIKE  %colname% OR gorod2 LIKE %colname%)
LIMIT 0, 50

Ошибка — отсутствует SELECT



0



2663 / 1727 / 175

Регистрация: 05.06.2011

Сообщений: 4,967

06.10.2013, 12:43

6

В последнем примере — однозначно. limit — фраза select, одиночно (к оператору в скобках) он не применяется. К исходному select какая ошибка?



0



0 / 0 / 0

Регистрация: 18.04.2013

Сообщений: 117

06.10.2013, 13:07

 [ТС]

7

Цитата
Сообщение от iifat
Посмотреть сообщение

В последнем примере — однозначно. limit — фраза select, одиночно (к оператору в скобках) он не применяется. К исходному select какая ошибка?

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 ‘LIMIT 0, 10’ at line 1



0



_ViPeR_

614 / 488 / 175

Регистрация: 02.03.2010

Сообщений: 1,236

07.10.2013, 06:10

8

Выполнил вот такой запрос у себя

MySQL
1
2
3
4
(SELECT * FROM event WHERE event.typ = 0)
UNION
(SELECT * FROM event WHERE event.typ = 1)
LIMIT 0,10

Никакой ошибки. Не там копаете…



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

07.10.2013, 06:10

Помогаю со студенческими работами здесь

LIMIT в IN
Нужна помощ!
Тут ошибка, как я поняла, в том, что нельзя использовать LIMIT в IN. Как ее обойти? …

update и limit
Здравствуйте!
Был такой запрос:

UPDATE `fruit`
SET `order` = ‘1’
WHERE `user_id` =…

LIMIT с переменными
Приветствую народ.
Что-то я никак не в курю в чем загвоздка.
В общем есть запрос:
CREATE…

Limit и subquery
Имеется таблица T с полями: id, date, price.
Нужно получить выборку, чтобы для каждого id были…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

8

mysql

Столкнулся с задачей выполнить LIMIT в подзапросе, но это привело к ошибке: Error: #1235 — This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’. Неужели нет способа это сделать? Оказывается есть..

Исходный запрос:

SELECT DISTINCT `post_id` FROM `wp_postmeta` WHERE `post_id` IN (

SELECT `ID` FROM `wp_posts` ORDER BY `ID` DESC LIMIT 50

) AND `meta_value` LIKE «http://site.com/%» LIMIT 10

приводит к ошибке:#1235 — This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’

Для того, чтобы запрос отработал, нам необходимо обернуть подзапрос в ещё один SELECT и вернуть результат подзапроса в виде переменной, вот так:

SELECT DISTINCT `post_id` FROM `wp_postmeta` WHERE `post_id` IN (

SELECT * FROM (

SELECT `ID` FROM `wp_posts` ORDER BY `ID` DESC LIMIT 50

) as `id`

) AND `meta_value` LIKE «http://site.com/%» LIMIT 10

теперь все работает.

Автор:
| Рейтинг: 4/5 |
Теги:


Понравилась статья? Поделить с друзьями:
  • Ошибка limit 0 50 sql
  • Ошибка lexus 0174
  • Ошибка key normcad
  • Ошибка kenshi has crashed
  • Ошибка j1939 ecu