从Unique键插入外键时出现奇怪的错误

时间:2016-11-29 14:08:12

标签: php mysql database phpmyadmin

我目前无法解决此问题,并且我不想禁用Foreign key check and unique key checks

有什么问题?

  • 我在名为test5的{​​{1}}表格中有一列col7

  • 我在unique key表名app_users中有一列,它是从department_phone

  • 引用的外键

注意:这是可能的,我在test5.col17

中通过Phpmyadmin插入数据时没有遇到任何错误

使用Phpmyadmin成功插入:

entering query

结果查询:

app_users

此查询中需要注意的事项:

INSERT INTO `testing_db`.`app_users` (`id`, `email`, `password`, `app_user_type`, `institute_phone`, `department_phone`, `skeeper_phone`, `other_user_phone`, `apikey`, `fullname`) VALUES (NULL, NULL, 'something12', 'CUSTOMER', NULL, '03228014505
', NULL, NULL, '8csgks8k0swskgow4wcocc048wk0wko4gs4sss08', 'my name');

它不是一个世界换行符,这些是在查询中添加的实际空格,以使此查询有效,但我不知道为什么或如何,它工作!而且我不是添加这些空格的人,这些是由插入向导

自动添加的

实际尝试:

由Codeignitor生成的查询并使用打印上次查询获取:

'03228014505
    '

此查询无效! ,

注意事项:

INSERT INTO `app_users` (`id`, `email`, `password`, `app_user_type`, `institute_phone`, `department_phone`, `skeeper_phone`, `other_user_phone`, `apikey`, `fullname`) VALUES (NULL, NULL, 'raja12', 'CUSTOMER', NULL, '03228014505', NULL, NULL, '8csgks8k0swskgow4wcocc048wk0wko4gs4sss08', 'my name')

通过直接在Phpmyadmin中应用此查询,我收到以下错误:

'03228014505'

服务器详细信息:

  • mysql(5.5.52-cll)
  • Phpmyadmin版本:4.0.10.14
  • 我正在使用MYSQL

这里有什么问题?

2 个答案:

答案 0 :(得分:0)

可能phpMyAdmin列出了该列的可能有效值,并且在表'test5'中写入的值'03228014505'在末尾附加了一个新行字符。出于演示目的,phpMyAdmin可能已经抑制了新行char,但它确实在生成的insert命令中放入了完整值(在最后添加了新行)。

您是否在“test5”表格中检查“03228014505”末尾是否有新行字符?

答案 1 :(得分:0)

转到test5.col17并检查值。确保它没有空格。

简短说明: 添加此值后,添加了空格。当您使用PHPmyAdmin插入数据时,它会使用原始表中的值构建一个select(下拉列表):test5。这就是为什么它通过phpMyAdmin工作,因为它使用了你在数据库中的确切值。

稍后编辑: 尝试更新当前值' 03228014505'至' 123'然后从键盘再次写入您的值。不要复制粘贴它。这应该"重置"你的号码是修剪版本。