Welcome to WebmasterWorld Guest from 54.144.107.83

Forum Moderators: open

Message Too Old, No Replies

Mysql Insert Problem

     
3:39 pm on Mar 26, 2010 (gmt 0)

Senior Member

WebmasterWorld Senior Member 5+ Year Member

joined:June 10, 2008
posts: 1130
votes: 0


I can't seem to insert some data. When I write the query
INSERT INTO table (col1, col2) values ('val1', 'val2');
it does not work

When I write
INSERT INTO table ('col1', 'col2') values ('val1', 'val2');
it does not work.

However, if I copy an insert statement from phpmyadmin it looks like the second query, except I notice the quotes on col1 and col2 seem different. If I copy those quotes around the column names, then it works fine. Any ideas why and how I can get the ' that I type to work so I don't have to copy it? Thanks,
5:33 pm on Mar 26, 2010 (gmt 0)

Full Member

10+ Year Member

joined:Sept 11, 2002
posts:292
votes: 0


Those ticks (`) is what the MySql uses as a delimiter.

Just use them - next to the 1 on the top left of your keyboard
5:47 pm on Mar 26, 2010 (gmt 0)

Senior Member

WebmasterWorld Senior Member rocknbil is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Nov 28, 2004
posts:7999
votes: 0


INSERT INTO table (col1, col2) values ('val1', 'val2');
it does not work


It should . . . there's nothing wrong with this statement. How are you executing this, via phpMyAdmin? PHP? If PHP, use the mySQL error function in PHP, store the select in a variable, for example $query . . .

$result = mysql_query($query) or die(mysql_error());

See if it gives you any clues.


INSERT INTO table ('col1', 'col2') values ('val1', 'val2');


This will not work, an extension on paladin's post,

INSERT INTO table (`col1`, `col2`) values ('val1', 'val2');

Note they are backticks, not single quotes, but it's relevant to note that backticks are only necessary if you use field names that conflict or have other issues, like starting with a number or a reserved word. For example, int and date are data types in mySQL, if you try to have fields with those names it will definately need backticks.
9:34 am on Apr 7, 2010 (gmt 0)

Junior Member

5+ Year Member

joined:Mar 15, 2010
posts:57
votes: 0


Try INSERT INTO TABLE VALUES("val1", "val2"), before that check if the table exists and check if you have defined the primary key.
 

Join The Conversation

Moderators and Top Contributors

Hot Threads This Week

Featured Threads

Free SEO Tools

Hire Expert Members