Kann wir begrenzen die Anzahl der Zeilen in einer Tabelle in MySQL?
Ist es möglich, die Anzahl der Zeilen, die eine Tabelle aufnehmen kann, in MySQL ?
Ich will nicht von jedem java-code. Ich möchte das über die Reine mysql-Skripts.
- Ich setze dieses als Kommentar eher als eine Antwort, denn ich habe noch nie verwendet MySQL, aber in den anderen DBs erreichen Sie dies mit einem CHECK-constraint ((SELECT COUNT(*) FROM table) <= 100).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde nicht empfehlen, versuchen, um die Anzahl der Zeilen in einer SQL-Tabelle, es sei denn, Sie hatten einen sehr guten Grund, dies zu tun. Es scheint, man wäre besser mit einer Abfrage wie:
anstatt physisch Begrenzung der Zeilen der Tabelle.
Jedoch, wenn Sie wirklich wollen, es zu begrenzen, 1000 Zeilen:
Mysql unterstützt eine max_rows ein parameter beim erzeugen (und vielleicht verändern?) einen Tisch. http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Edit: Leider es stellt sich heraus, das ist nur ein Hinweis für die Optimierung
"Die maximale Anzahl Zeilen, die Sie speichern möchten, in die Tabelle ein. Dies ist keine harte Grenze, sondern eher einen Hinweis auf die Speicher-engine, die Tabelle muss in der Lage sein, zu speichern, mindestens so viele Zeilen."
.. Deine implizite Frage, die scripts sind ok; ist es lächerlich zu machen, so einfach als cron-job regelmäßig Drop Tabellenzeilen oberhalb einer bestimmten ID ? Es ist nicht annähernd so elegant, wie es gewesen wäre, um mysql-Fehler auslösen, wenn etwas versucht, fügen Sie eine Zeile zu viel, aber es würde die Arbeit machen - und Sie können Ihre Anwendung auch dann überprüfen, wenn es die ID ist zu hoch und löst eine Warnung an den Benutzer/die betreffende Partei.