Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 2 years ago.
Improve this question
I don't have much experience with mySQL but I thought I knew the basics. However, I am clearly missing something. I am using a database that has 6 tables, I can look at 5 of them with no problem. I was looking for some values and I wasn't sure which exact table it was in so I typed in my mySQL 101 level statement- 'SELECT * FROM project', received the values, and saw that my target was not in there. So I next ran 'SELECT * FROM release' except that command does not work.
The MySQL Workbench underlines the word 'SELECT' and the tooltip message says- "select" is not valid at this position for this server version
When I attempt to run the command, I get Error Code: 1064. You have an error in your SQL syntax
So I tried deleting and rewriting, thinking it was some sort of bug but restarts and everything else I have tried is not helping and I have been unable to google anything relevant.
full command-
USE scorecarddb;
SHOW TABLES;
SELECT * FROM release;
but I usually just use the 1 line command run (aka I only run line 3 since I am already in the scorecard db). And I don't think it is an actual syntax error because if I change the word 'release' to 'project' or any of the other table names, it works
release might be a reserved keyword. Try using:
SELECT * FROM `release`;
Related
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 3 years ago.
Improve this question
this error
2 errors were found during analysis.
This type of clause was previously parsed. (near "WHERE" at position 64)
Unrecognized statement type. (near "WHERE" at position 64)
SQL query: Documentation
SELECT * FROM helpdeskrequest
WHERE detail LIKE '%New PC%'
AND WHERE type='HW'
MySQL said: Documentation
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE type='HW'' at line 2
{SELECT * FROM helpdeskrequest
WHERE detail LIKE '%New PC%' AND WHERE type='HW'}
You don't need the double WHERE:
SELECT * FROM helpdeskrequest
WHERE detail LIKE '%New PC%' AND type='HW'
Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 8 years ago.
Improve this question
I'm trying to pull a simple count distinct from a table in MySQL. The query is the following:
select COUNT (DISTINCT column1) as distinctVol
from table1
The error I'm getting is below:
Error: 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 'DISTINCT call_reference) as distinctVol
from dlr_calls_hist' at line 1 (State:37000, Native Code: 428)
I've already tried in various different ways, but I can try things again upon suggestions, to make sure it's not typo related.
I've also given it a go with an online SS to MySQL converter (I'm used to using SQL Server), which just spat back the same syntax.
Yes, I could potentially output data and import it into SQL Server, which is the final aim of my efforts, but first I would need to create the dataset as the entire db in MySQL is too large with quite a bit of unnecessary info - trying to keep the resource waste to minimum.
All ideas welcome, and thank you in advanZe!
In MySQL, when using aggregate functions, you can't have whitespace between the function name and the (. Change to:
SELECT COUNT(DISTINCT column1)
FROM table1
DEMO
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Okay so basically I'm a little bit stumped. This question is regarding the JDBC driver. Basically we own a server that is hosted on this driver, and it's running MYSQL. We are using coldfusion as our language of choice. We have a GET parameter ?lang= and injecting the character '\' into it prompts the error: 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 and no other character causes this error. I am sort of worried here. Can anyone tell me how an attacker would approach an sql injection attack into this parameter? So I can understand how I can filter it because in my code I am properly filtering preg_match on \ character and yet I still get this error. How would I be able to inject this parameter? Can someone point me to a guide or something, or if it's even possible. Just so I can rest in piece assuming it's not. But anyhow if this information is necessary the mysql version is 5.1.30 and the exact driver name is MySQL-AB JDBC Driver. Thanks for taking your time to help me out!
\ can be an escape character in mysql.
For example, an attacker could use the \b sequence to delete portions of your query and rewrite with their own injected sql.
The most reliable way to prevent sql injection attacks is to use parametrized queries.
See also:
Mysql character escape sequences
Preventing Sql Injection in Java
Using prepared statements
Also be aware that in many databases (not absolutely sure about the JDBC/Mysql combination) it is also possible to "inject" a wildcard character into a sql LIKE clause, even with a parametrized query. "Injection" in this particular case is not always a problem - in fact, in many cases it may be exactly the desired behavior. However, it can be a problem, if for example, you were doing something horrid like SELECT * FROM Users WHERE UserName LIKE #userInput AND Password LIKE #passwordInput (which would allow anyone to log in simply by inputing the % wildcard character on the screen for both fields).
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I reformatted my C drive, reinstall mysql for windows then deleted my 2 log files + ibdata1. I set the data path in my config file and was able to connect to my database. I see all my databases however if i try to select any data i get an error
I remembered I needed to set files per table so i wrote
innodb_file_per_table
I restarted mysqld and I still get an error. This is what i get specifically. t is the name of my database (its a test database). I see all the databases i have with show databases. show tables; works as well. But I can't select anything or desc TABLE. My database are 60gb in total so i'm worried i broke it all.
mysql> select * from inc;
ERROR 1146 (42S02): Table 't.inc' doesn't exist
The problem was the fresh my.ini file no longer had the innodb_data_home_dir="c:/path/to". I looked at my ini file from a external HD for a different database. I must have a different version of the installer/mysql (even though its still 5.5)
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I perform an SQL query on a database with MySQL and I get back only the first 1000 rows from 24000 expected. If i export the results to an XML form, I get the first 1000 again.
Is there a way to disable that limit and get back all the rows?
Otherwise, I will have to merge 24 XML files :/
Do these steps:
Go to Edit -> Preferences.
Click on the SQL Editor tab.
Under Query Editor, uncheck Limit Rows.
Edit
Workbench Version 6.12 (Mac OS(10.11.3))
Go to Edit -> Preferences.
Click on the SQL Editor tab.
Under SQL Execution, uncheck Limit Rows.
I would recommend simply clicking the "Toggle limitation of the records number" button located right above the results pane. Turning off the limit is not the best approach since the server will have to send all records with every query. Placing a limit on the rows returned is generally a good idea.