私は多くのことを試しましたが、なぜこれが機能しないのか理解できません... 基本的に、私はテーブルを削除して作成しています。次のクエリは、SQL PRO または mysqladmin で完全に機能します。
SET foreign_key_checks = 0;
DROP TABLE IF EXISTS `calendarCountries`;
CREATE TABLE `calendarCountries` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`country` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
insert into calendarCountries (id,country) values (1,'US');
DROP TABLE IF EXISTS `calendarWorldHolidays`;
CREATE TABLE `calendarWorldHolidays` (
`holidayName` varchar(150) NOT NULL,
`holidayDate` date NOT NULL,
`countryCode` int(5) DEFAULT NULL,
KEY `countryCode` (`countryCode`),
CONSTRAINT `calendarWorldHolidays_ibfk_1` FOREIGN KEY (`countryCode`) REFERENCES `calendarCountries` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET foreign_key_checks = 1;
しかし、php で実行しようとすると、機能せず、構文エラーが発生します。
SQLステートメントを過去のようにphpにコピーするだけです
$createTablesQuery = " <I copy the statements above here> "
mysqli_query($link, $createTablesQuery)
私が得るエラーは次のとおりです。
無効なクエリ: SQL 構文にエラーがあります。Near 'DROP TABLE IF EXISTS
calendarCountries
;を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。CREATE TABLEcalendarCountries
( ' 3 行目
私を助けてください、私は何が間違っていますか?