我目前正在开发 iOS 应用程序,该应用程序使用 MySQL 作为 rdbms,使用 xampp 作为 Web 服务器来填充 UITableView 中的视频。我在 MySQL 表中插入 URL 时遇到困难。为了更清楚地说明,我在表中有 3 列,即 NewID、NewsTitle 和 NewsVid。当我通过查询插入 URL 时,例如:
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today's news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))
错误提示“#1048 - Column 'NewsVid'不能为空”
由于我正在学习过程中,希望为我提供解决这个问题的指导。
最佳答案
首先 - 您的 SQL 命令中有未转义的字符 '
- 这里:'Today's news'
:
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today's news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))
^ HERE
将 SQL 编辑为(需要使用反斜杠 \
转义 '
):
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today\'s news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))
根据评论更新:
然后您可以尝试在数据库中仅存储文件的链接,而不存储 LOAD_FILE 函数的输出。所以你更新后的命令将如下所示:
INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today\'s news', 'Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4')
当您要从数据库读取数据时,可以使用 LOAD_FILE,例如:
// DB CONNECT
// DB READ DATA
LOAD_FILE($row['NewsVid']);
关于php - 在 MySQL 中插入 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30254512/