Ich möchte eine Tabelle als review
mit einigen von Default, wie in den folgenden Code genannt erstellen:Tabelle nicht werden mit Standardwerten erstellt
mysqli_query($link, "CREATE TABLE IF NOT EXISTS `review` (
`clients_id` int(15) NOT NULL AUTO_INCREMENT,
`client_id` varchar(150) NOT NULL DEFAULT '',
`rating` tinyint(2) NOT NULL DEFAULT '0',
`proj_date` date NOT NULL DEFAULT '0000-00-00',
`proj_desc` text NOT NULL DEFAULT '',
`photoname` text NOT NULL,
`companyname` text NOT NULL,
`feedback` text NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '0',
`emailid` varchar(100) NOT NULL DEFAULT '',
`customratings` varchar(100) NOT NULL DEFAULT '',
`photo_option` varchar(100) NOT NULL DEFAULT '',
`title` varchar(100) NOT NULL DEFAULT '',
`citation` varchar(100) NOT NULL DEFAULT '',
`date_option` varchar(100) NOT NULL DEFAULT '',
`rating_option` varchar(100) NOT NULL DEFAULT '',
PRIMARY KEY (`clients_id`),
FULLTEXT KEY `feedback` (`feedback`)
) ENGINE=MyISAM AUTO_INCREMENT=1") or mysqli_error($link);
Spalten dieser Tabelle sollten DEFAULT-Werte enthalten, aber wenn schreiben Standard Die Wertetabelle wird nicht erstellt.
Nun ersetzen ich meinen Code durch DEFAULT-Werte zu entfernen mit folgenden:
mysqli_query($link, "CREATE TABLE IF NOT EXISTS `review` (
`clients_id` int(15) NOT NULL AUTO_INCREMENT,
`client_id` varchar(150) NOT NULL,
`rating` tinyint(2) NOT NULL,
`proj_date` date NOT NULL,
`proj_desc` text NOT NULL,
`photoname` text NOT NULL,
`companyname` text NOT NULL,
`feedback` text NOT NULL,
`status` tinyint(1) NOT NULL,
`emailid` varchar(100) NOT NULL,
`customratings` varchar(100) NOT NULL,
`photo_option` varchar(100) NOT NULL,
`title` varchar(100) NOT NULL,
`citation` varchar(100) NOT NULL,
`date_option` varchar(100) NOT NULL,
`rating_option` varchar(100) NOT NULL,
PRIMARY KEY (`clients_id`),
FULLTEXT KEY `feedback` (`feedback`)
) ENGINE=MyISAM AUTO_INCREMENT=1") or mysqli_error($link);
Jetzt wird Tabelle perfekt zu schaffen, und wenn mit diesem weiterhin (ohne Ausfälle) Tabelle I 1364 MySQL error
bin immer während Einfügen von Daten
ich vorübergehend dieses Problem behoben mit mysql error 1364 Field doesn't have a default values von STRICT_TRANS_TABLES meiner sqlmode Einstellung in phpMyAdmin
ich habe auch versucht Erstellen der Tabelle und dann Standard-ADD, um es zu entfernen, indem sie ALTER TABLE aber das könnte nur einmal gemacht werden und nicht für lange Datenbank.
Aber ich möchte nicht meine phpmyadmin Einstellung ändern und Tabelle mit DEFAULT Spalte Werte erstellen. Wie kann ich das machen und wo ich falsch mache?
Dank
Nawaz Ghori
Standardwert der leeren Zeichenfolge möglicherweise nicht zulässig – serakfalcon
Ein Tipp ist, versuchen Sie, die SQL in etwas wie phpmyadmin ausführen, dies wird Ihnen Fehler anzeigen und können Sie verschiedene Dinge ausprobieren. Dann fügen Sie es in Ihren PHP-Code ein, Sie haben es funktioniert. –