Octavian,

> I've read the following in a MySQL book:

It's a rather old book, which deals with MySQL 3.23, and not with MySQL
4.x.

>  DELETE FROM tbl_name WHERE 1 > 0;

In MySQL 3.23, this was a workaround to force the server to delete a
table row by row. By default, 3.23 would on DELETE FROM tbl just do a
DROP TABLE + CREATE TABLE, because this was faster in most cases than
deleting the rows. This behaviour wasn't ANSI SQL compliant, though.

MySQL 4.x does a DELETE FROM tbl with or without WHERE clause ANSI
compliant. This means, it will always delete the rows, not DROP/CREATE
the table. To do the latter, use

 TRUNCATE TABLE tbl

This will in fact do a DROP/CREATE, thus resetting the AUTO_INCREMENT
counter etc.

> Well, I've tried that sql statement, but the auto_increment point of
start
> was not reset to 1.

Actually, the counter is reset to 0, not 1. The first inserted value
then is auto-incremented, and thus becomes 1.

Regards,
--
  Stefan Hinz <[EMAIL PROTECTED]>
  Geschäftsführer / CEO iConnect GmbH <http://iConnect.de>
  Heesestr. 6, 12169 Berlin (Germany)
  Tel: +49 30 7970948-0  Fax: +49 30 7970948-3

----- Original Message -----
From: "Octavian Rasnita" <[EMAIL PROTECTED]>
To: "MySQL" <[EMAIL PROTECTED]>
Sent: Wednesday, January 08, 2003 8:33 AM
Subject: Resetting the auto_increment to start from 1


> Hi all,
>
> I've read the following in a MySQL book:
>
>   A special case of record deletion occurs when you clear out a table
> entirely using a DELETE with no WHERE clause:
>  DELETE FROM tbl_name;
>   In this case, the sequence counter may be reset to 1, even for table
types
> for which values normally are not reused (MyISAM and InnoDB). For
those
> types, if you wish to delete all the records while maintaining the
current
> sequence value, tell MySQL to perform a record-at-a-time delete by
including
> a WHERE clause that specifies some trivially true condition:
>  DELETE FROM tbl_name WHERE 1 > 0;
>
> ---
>
> Well, I've tried that sql statement, but the auto_increment point of
start
> was not reset to 1.
> I use MySQL 4.05 under Windows 2000.
>
> Thanks.
>
> Teddy,
> Teddy's Center: http://teddy.fcc.ro/
> Email: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/manual.php   (the manual)
>    http://lists.mysql.com/           (the list archive)
>
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail
<[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to