php - 使用 MYSQLAdmin 或 php 将 sql 文件导入 MYSQL 数据库
问题描述
我正在尝试通过其 MYSQL 管理程序 mysqladmin 将 sql 文件导入到由我的网络主机托管的数据库中。Mysqladmin 有一个 Import 按钮,据我所知,它只运行一些 sql 代码。但是,当我完成这些步骤时,它给了我以下错误。(我尝试从客户支持那里获得帮助,但他们不支持。)
以下是错误框中以粉红色显示的内容:
Error
SQL query:
CREATE TABLE IF NOT EXISTS `bookquotes` (
`index` VARCHAR(MAX) NULL,
`index_id` INT NULL,
`type` VARCHAR(MAX) NULL,
`line_id` INT NULL,
`book_name` VARCHAR(MAX) NULL,
`speech_number` INT NULL,
`line_number` VARCHAR(MAX) NULL,
`speaker` VARCHAR(MAX) NULL,
`text_entry` VARCHAR(MAX) NULL
)
MySQL said: Documentation
#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 'MAX) NULL,
`index_id` INT NULL,
`type` VARCHAR(MAX) NULL,
`line_id` INT NULL,
`p' at line 2
对于上述 SQL 有什么问题的任何建议(如果我能获得正确的语法,我可以运行 sql 以自己在 PHP 中添加表)或其他如何将 sql 文件导入远程数据库的建议。
感谢您的任何建议。
解决方案
您不能MAX
在 mysql 中使用,请参阅此处记录的限制:https ://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html
如果您需要非常大的文本列,请使用TEXT
或改为使用varchar
合理的限制。
推荐阅读
- sitecore - Sitecore 的逻辑应用连接器
- c# - 如何将谓词表达式转换为 SQL Where 子句
- identityserver4 - 使用 IdentityServer4 通过 API 进行用户身份验证
- angular - 如何在 Angular 8 中刷新状态?
- qt - Qt 将来自多个发送者的信号映射到单个插槽
- neo4j - Neo4j Cypher 仅返回计数大于 1 的行
- pdf - 使用 VB 脚本将 Excel 工作簿中的活动工作表保存为 PDF 文件
- jira - JIRA - 当所有状态都可以进入特定状态时,删除到相同状态的转换
- rstudio - R-Studio - 与 Teradata 的连接不起作用
- installation - 为什么我的非常简单的 .exe 在任何地方都被标记为危险?