SQL syntax error maybe because of the version I use - mysql

On phpMyAdmin, when I create this table the SQL is executed correctly but when I add all the sql code
I get an error saying
"#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 'CREATE TABLEbuying(CustomerIDint(10) unsigned NOT NULL,PurchaseI' at line 14`"
Why is that and how can I fix it ?

You have to use a semicolon ; after each CREATE TABLE sometable ( ) statement.
CREATE TABLE `table1` (
...
);
CREATE TABLE `table2` (
...
);

If you are running multiple SQL statements, they need to be ended with a ; (semi-colon)

Related

Check if record exists in table before inserting new data

SQL Noob here.
Im using PHP PDO with named placeholders to insert data to my DB but I want to check if the data exists before I insert it.
Here is my statement:
IF NOT EXISTS (SELECT * FROM dc_line_items_transactions WHERE order_id = '3784732' AND product_id = '435062') INSERT INTO dc_line_items_transactions (order_id,refund_id,user_id,transaction_date,product_id,line_item_id,line_subtotal,line_vat,line_total,dc_timestamp) VALUES (:order_id,:refund_id,:user_id,:transaction_date,:product_id,:line_item_id,:line_subtotal,:line_vat,:line_total,:dc_timestamp)
My PDO code works fine as Its being used by other classes to insert varying different types of data.
My error message is as follows:
SQLSTATE[42000]: 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 'IF NOT EXISTS (SELECT * FROM dc_line_items_transactions WHERE order_id= '3784732' at line 1

error when to create table using mysql workbench

i have used mysql workbench for create table. here when i create table
why i cannot add column at my table here ? like this is error and when i want to create it i got error like this
Operation failed: There was an error while applying the SQL script to the database.
Executing:
CREATE TABLE `aliftesting`.`testing` (
);
ERROR 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 2
SQL Statement:
CREATE TABLE `aliftesting`.`testing` (
)
why i got this error in mydatabase ? thanks all

SQL Query having trouble creating temporary table

I am trying to use the my table adult3 to create a temporary table with rows from the column class that correspond to the condition:
SELECT class INTO #CLTable
FROM adult3
WHERE (class = '<=50K');
but I keep getting the error :
ERROR 1064 (42000): 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
'FROM adult3
WHERE (class = '<=50K')' at line 2
I don't get what I'm doing wrong.
I believe that you are using SQL Server syntax for creating a temp table.
Try this:
create temporary table CLTable as
select class from adult3
where (class='<=50K');
You could try:
INSERT INTO [tempTableName]
SELECT class FROM adult3
WHERE (class='<=50k')

MySQL Can't create Table i don't know why

I always get this error when i try to create a Table:
Operation failed: There was an error while applying the SQL script to the database.
Executing:
CREATE TABLE wolveserver.new_table (
);
ERROR 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 '.new_table (
)' at line 1
SQL Statement:
CREATE TABLE wolveserver.new_table (
)
I gotta say i'm a total Noob, but i wanna fix this.
You will need to define your column inside the parenthesis:
CREATE TABLE wolveserver.new_table
(col1 int,
col2 varchar(50)
);
This is rather a basic question, so you should try to google this before asking a question here in SO. To learn more about CREATE TABLE syntax for MySQL, visit here.

Debugging MySQL CREATE TABLE from existing table statement?

Why is this giving me an error ?
I haven't found any good example code online that combines CREATE TABLE with a SELECT statement with WHERE.
CREATE TABLE tmp_year (source CHAR(3),
target CHAR(3),
val FLOAT,
PRIMARY KEY (source, target))
(SELECT source,
target,
val
WHERE date>='2001-01-01'
AND date<='2001-12-12')
FROM db;
error message:
ERROR 1064 (42000): 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 'WHERE date>='2001-01-01' AND date<='2001-12-12') FROM db' at line 1
Try this my friend:
CREATE TABLE tmp_year AS
SELECT * FROM YOURTABLE
WHERE date>='2001-01-01'
AND date<='2001-12-12';
ALTER TABLE tmp_year ADD PRIMARY KEY(source, target);
Here is example in SQL Fiddle
SQL expects FROM to immediately follow a SELECT clause's values and be before conditionals like WHERE.