で表が作成されていない、私はいくつかのデフォルトのように次のコードに示すとreview
という名前のテーブルを作成したい:この表のDEFAULT値
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);
列DEFAULT値が含まれている必要がありますが、書き込みDEFAULTの場合値テーブルが作成されていません。
は今、私は次のようにデフォルト値を除去することによって、自分のコードを置き換える:
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);
今の表は、完全に作成されており、この(デフォルトなし)テーブルを続ける場合、私は1364 MySQL error
挿入しながらデータ
一時的
私はphpmyadminの中で私のsqlmode設定のSTRICT_TRANS_TABLESを削除することによってmysql error 1364 Field doesn't have a default valuesでこれを修正しますALTER TABLEですが、これは一度だけ行うことができ、長いデータベースでは正しくありません。
しかし、私はphpmyadmin設定を変更してDEFAULT列の値を持つテーブルを作成したくありません。どうすればいいですか、どこで間違っているのですか?
おかげフィールドcolumn_name
(そしておそらくいくつかの他は) "NOT NULL" としてチェックされているので、それは間違いなく、データベースに保存していない
ナワズGhori
空の文字列のデフォルト値は許可されない可能性があります – serakfalcon
1つのヒントは、phpmyadminのようなものでSQLを実行しようとすることです。これはエラーを表示し、別のものを試すことができます。それから、あなたのPHPコードにそれを含めるようにしてください。 –