|
Posted by J.O. Aho on 08/17/06 15:53
_Raven wrote:
> Ok, the table is like so:
> id auto_increment, not null, primary_key
> uid int(5)
> name varchar(255) not null
Okey, I don't know why you have both id and uid?
In your example it seems like uid=id+31 and you seem to calculate it in your
php code, why not use auto_increment and start it from 31 instead of 0?
> SAMPLE DATA IN TABLE:
> 1, 32, bill
> 2, 33, fred
> 3, 34, mark
> 4, 35, ralph
> 5, 36, jerry
> $sql = "INSERT INTO mytable (uid,name) VALUES ('" . $nextUID . "','" .
> $_GET['name'] . "')";
> $query = mysql_query($sql);
'" . $nextUID . "'
I wouldn't use this for an column where I have INT, I would just done
" . $nextUID . "
Not sure if this causes the problem for you, and I wouldn't use a $_GET
directly into a sql query, I would first check that the data is valid before
inject it into the query statement.
> #OUTPUT FROM ABOVE:
>
> COULD NOT ADD Joe! The error was: Duplicate entry 'joe' for key 2
> The SQL was: INSERT INTO mytable (uid,name) VALUES (41,'joe')
>
> Affected Rows: -1
This does indicate that you would have something already in your table that
you try to add, you maybe should redesign your table a bit, drop the uniques
for testing purposes and see if your table works better.
You could also print out the whole table too, so that you can verify that you
don't have data already in it that does affect the insert.
>> Are all columns unique? then you limit quite much what you can enter into
>> your table, only the uid should be unique and a primary key.
>
> No, only the name column is unique, except for the id col, which is primary
> key and unique by default I believe
Yes, primary keys does give uniques to columns by default.
//Aho
Navigation:
[Reply to this message]
|