1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near資料庫報錯
阿新 • • 發佈:2022-03-25
處理:
感覺自己寫的著實沒有毛病啊,但就是不行,莫名無語。
然後在網上找了找,有沒有其他人出現這個問題,原來是自己學識薄淺,不知道資料庫還有這樣的規定,長見識了
其實這個問題就是語法上的錯誤,在MYSQL中,為了區分MYSQL的關鍵字與普通字元,引入了一個反引號,那麼列名稱使用的是反引號,而不是單引號,之後語法不對就報錯了,
DROP TABLE IF EXISTS `citys`; CREATE TABLE `citys` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `cn_name` varchar(255) COLLATE utf8mb4_unicode_ci NOTNULL, `en_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `code` int(11) NOT NULL, `pre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
這就是用了反引號之後的資料庫程式碼。